Unify startup and option-parsing warnings
authorGary Benson <gbenson@redhat.com>
Tue, 5 Aug 2014 15:18:51 +0000 (16:18 +0100)
committerGary Benson <gbenson@redhat.com>
Fri, 29 Aug 2014 09:12:04 +0000 (10:12 +0100)
Various warnings are emitted during startup and option-parsing using
fprintf_unfiltered.  One warning is prefixed with the command name,
the others are not.  This commit replaces these hardwired warnings
with calls to warning.  It also sets warning_pre_print to prefix all
warnings with the command name until option parsing is complete.

gdb/ChangeLog:

* main.c (captured_main): Use warning during startup.
Prefix startup warning messages with command name.

gdb/ChangeLog
gdb/main.c

index 3c2b114..341e303 100644 (file)
@@ -1,5 +1,10 @@
 2014-08-29  Gary Benson  <gbenson@redhat.com>
 
+       * main.c (captured_main): Use warning during startup.
+       Prefix startup warning messages with command name.
+
+2014-08-29  Gary Benson  <gbenson@redhat.com>
+
        * main.c (captured_main): Handle usage errors with error.
 
 2014-08-29  Gary Benson  <gbenson@redhat.com>
index d2e3d5e..12f0146 100644 (file)
@@ -517,14 +517,12 @@ captured_main (void *data)
   gdb_program_name = xstrdup (argv[0]);
 #endif
 
+  /* Prefix warning messages with the command name.  */
+  warning_pre_print = xstrprintf ("%s: warning: ", gdb_program_name);
+
   if (! getcwd (gdb_dirbuf, sizeof (gdb_dirbuf)))
-    /* Don't use *_filtered or warning() (which relies on
-       current_target) until after initialize_all_files().  */
-    fprintf_unfiltered (gdb_stderr,
-                       _("%s: warning: error finding "
-                         "working directory: %s\n"),
-                        argv[0], safe_strerror (errno));
-    
+    perror_warning_with_name (_("error finding working directory"));
+
   current_directory = gdb_dirbuf;
 
   /* Set the sysroot path.  */
@@ -807,13 +805,8 @@ captured_main (void *data)
 
              i = strtol (optarg, &p, 0);
              if (i == 0 && p == optarg)
-
-               /* Don't use *_filtered or warning() (which relies on
-                  current_target) until after initialize_all_files().  */
-
-               fprintf_unfiltered
-                 (gdb_stderr,
-                  _("warning: could not set baud rate to `%s'.\n"), optarg);
+               warning (_("could not set baud rate to `%s'."),
+                        optarg);
              else
                baud_rate = i;
            }
@@ -825,13 +818,8 @@ captured_main (void *data)
 
              i = strtol (optarg, &p, 0);
              if (i == 0 && p == optarg)
-
-               /* Don't use *_filtered or warning() (which relies on
-                  current_target) until after initialize_all_files().  */
-
-               fprintf_unfiltered (gdb_stderr,
-                                   _("warning: could not set "
-                                     "timeout limit to `%s'.\n"), optarg);
+               warning (_("could not set timeout limit to `%s'."),
+                        optarg);
              else
                remote_timeout = i;
            }
@@ -985,6 +973,7 @@ captured_main (void *data)
     }
 
   /* Set off error and warning messages with a blank line.  */
+  xfree (warning_pre_print);
   warning_pre_print = _("\nwarning: ");
 
   /* Read and execute the system-wide gdbinit file, if it exists.