* utils.c (query): Remove test for energize from top. Now
authorStu Grossman <grossman@cygnus>
Tue, 15 Sep 1992 05:04:08 +0000 (05:04 +0000)
committerStu Grossman <grossman@cygnus>
Tue, 15 Sep 1992 05:04:08 +0000 (05:04 +0000)
handled in input_from_terminal_p().

gdb/ChangeLog
gdb/utils.c

index f849f44f9b0350a1fb05f1713199317c2a43dd61..e180fd036ad67cc786f066964914fa2ce3bb52ff 100644 (file)
@@ -1,5 +1,8 @@
 Mon Sep 14 19:20:43 1992  Stu Grossman  (grossman at cygnus.com)
 
+       * utils.c (query):  Remove test for energize from top.  Now
+       handled in input_from_terminal_p().
+
        * energize.c (send_location):  New routine to consolidate all
        places where we must notify kernel of where the given pc is.
        (cplus_demangle):  Put single-quotes around demangled names.
index b99e4f942467ea8d4a060491d7056dd48a52ed14..4682d1dec3ab432a4bf31f3a2b29108efdda516c 100644 (file)
@@ -703,21 +703,32 @@ query (va_alist)
       fflush (stdout);
       va_start (args);
       ctlstr = va_arg (args, char *);
+      energize_query (ctlstr, args);
       vfprintf_filtered (stdout, ctlstr, args);
-      va_end (args);
       printf_filtered ("(y or n) ");
-      fflush (stdout);
-      answer = fgetc (stdin);
-      clearerr (stdin);                /* in case of C-d */
-      if (answer == EOF)       /* C-d */
-        return 1;
-      if (answer != '\n')      /* Eat rest of input line, to EOF or newline */
-       do 
-         {
-           ans2 = fgetc (stdin);
-           clearerr (stdin);
-         }
-        while (ans2 != EOF && ans2 != '\n');
+      if (energize)
+       {
+         char *buf;
+
+         buf = energize_command_line_input(0, 0);
+         answer = buf ? *buf : 'Y';
+         energize_acknowledge_query(buf);
+       }
+      else
+       {
+         fflush (stdout);
+         answer = fgetc (stdin);
+         clearerr (stdin);             /* in case of C-d */
+         if (answer == EOF)    /* C-d */
+           return 1;
+         if (answer != '\n')   /* Eat rest of input line, to EOF or newline */
+           do 
+             {
+               ans2 = fgetc (stdin);
+               clearerr (stdin);
+             }
+         while (ans2 != EOF && ans2 != '\n');
+       }
       if (answer >= 'a')
        answer -= 040;
       if (answer == 'Y')
@@ -725,6 +736,7 @@ query (va_alist)
       if (answer == 'N')
        return 0;
       printf_filtered ("Please answer y or n.\n");
+      va_end (args);
     }
 }
 
@@ -991,6 +1003,12 @@ fputs_filtered (linebuffer, stream)
   if (linebuffer == 0)
     return;
   
+  if (energize)
+    {
+      energize_fputs(linebuffer);
+      return;
+    }
+
   /* Don't do any filtering if it is disabled.  */
   if (stream != stdout
    || (lines_per_page == UINT_MAX && chars_per_line == UINT_MAX))