From: Jim Kingdon Date: Thu, 9 Sep 1993 17:58:46 +0000 (+0000) Subject: * remote-udi.c (udi_wait, case UDIStdinNeeded): Use a loop calling X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5c303f64ca252af6e7481942e26c643dad4c6620;p=binutils-gdb.git * remote-udi.c (udi_wait, case UDIStdinNeeded): Use a loop calling getchar() (terminated only on '\n') instead of scanf. Send the '\n' which terminates it to the remote system. --- diff --git a/gdb/remote-udi.c b/gdb/remote-udi.c index 20e8d262c57..3fa2da9b975 100644 --- a/gdb/remote-udi.c +++ b/gdb/remote-udi.c @@ -473,11 +473,22 @@ udi_wait (status) fwrite (sbuf, 1, CountDone, stderr); fflush(stderr); continue; + case UDIStdinNeeded: - scanf ("%s", sbuf); - i = strlen (sbuf); - UDIPutStdin (sbuf, (UDISizeT)i, &CountDone); - continue; + { + int ch; + i = 0; + do + { + ch = getchar (); + if (ch == EOF) + break; + sbuf[i++] = ch; + } while (i < SBUF_MAX && ch != '\n'); + UDIPutStdin (sbuf, (UDISizeT)i, &CountDone); + continue; + } + case UDIRunning: /* In spite of the fact that we told UDIWait to wait forever, it will return spuriously sometimes. */