From 5c303f64ca252af6e7481942e26c643dad4c6620 Mon Sep 17 00:00:00 2001 From: Jim Kingdon Date: Thu, 9 Sep 1993 17:58:46 +0000 Subject: [PATCH] * 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. --- gdb/remote-udi.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) 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. */ -- 2.30.2