]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gdb/complaints.c
Copyright updates for 2007.
[thirdparty/binutils-gdb.git] / gdb / complaints.c
index 252e654a9930f956f34c947ead395134594d1ab1..8d1321c985b5756a383457cef230b9f7dabf3a14 100644 (file)
@@ -1,7 +1,7 @@
 /* Support for complaint handling during symbol reading in GDB.
 
-   Copyright 1990, 1991, 1992, 1993, 1995, 1998, 1999, 2000, 2002 Free
-   Software Foundation, Inc.
+   Copyright (C) 1990, 1991, 1992, 1993, 1995, 1998, 1999, 2000, 2002, 2004,
+   2005, 2006, 2007 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -17,8 +17,8 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
 
 #include "defs.h"
 #include "complaints.h"
@@ -161,12 +161,12 @@ find_complaint (struct complaints *complaints, const char *file,
    before we stop whining about it?  Default is no whining at all,
    since so many systems have ill-constructed symbol files.  */
 
-static unsigned int stop_whining = 0;
+static int stop_whining = 0;
 
 /* Print a complaint, and link the complaint block into a chain for
    later handling.  */
 
-static void
+static void ATTR_FORMAT (printf, 4, 0)
 vcomplaint (struct complaints **c, const char *file, int line, const char *fmt,
            va_list args)
 {
@@ -186,8 +186,8 @@ vcomplaint (struct complaints **c, const char *file, int line, const char *fmt,
 
   if (complaint->file != NULL)
     internal_vwarning (complaint->file, complaint->line, complaint->fmt, args);
-  else if (warning_hook)
-    (*warning_hook) (complaint->fmt, args);
+  else if (deprecated_warning_hook)
+    (*deprecated_warning_hook) (complaint->fmt, args);
   else
     {
       if (complaints->explanation == NULL)
@@ -197,11 +197,12 @@ vcomplaint (struct complaints **c, const char *file, int line, const char *fmt,
        {
          char *msg;
          struct cleanup *cleanups;
-         xvasprintf (&msg, complaint->fmt, args);
+         msg = xstrvprintf (complaint->fmt, args);
          cleanups = make_cleanup (xfree, msg);
          wrap_here ("");
          if (series != SUBSEQUENT_MESSAGE)
            begin_line ();
+         /* XXX: i18n */
          fprintf_filtered (gdb_stderr, "%s%s%s",
                            complaints->explanation[series].prefix, msg,
                            complaints->explanation[series].postfix);
@@ -210,7 +211,7 @@ vcomplaint (struct complaints **c, const char *file, int line, const char *fmt,
              trailing newline, the wrap_here() is just a hint.  */
          if (series == ISOLATED_MESSAGE)
            /* It would be really nice to use begin_line() here.
-              Unfortunatly that function doesn't track GDB_STDERR and
+              Unfortunately that function doesn't track GDB_STDERR and
               consequently will sometimes supress a line when it
               shouldn't.  */
            fputs_filtered ("\n", gdb_stderr);
@@ -292,12 +293,12 @@ clear_complaints (struct complaints **c, int less_verbose, int noisy)
       break;
     case SUBSEQUENT_MESSAGE:
       /* It would be really nice to use begin_line() here.
-         Unfortunatly that function doesn't track GDB_STDERR and
+         Unfortunately that function doesn't track GDB_STDERR and
          consequently will sometimes supress a line when it shouldn't.  */
       fputs_unfiltered ("\n", gdb_stderr);
       break;
     default:
-      internal_error (__FILE__, __LINE__, "bad switch");
+      internal_error (__FILE__, __LINE__, _("bad switch"));
     }
 
   if (!less_verbose)
@@ -308,14 +309,21 @@ clear_complaints (struct complaints **c, int less_verbose, int noisy)
     complaints->series = SHORT_FIRST_MESSAGE;
 }
 
+static void
+complaints_show_value (struct ui_file *file, int from_tty,
+                      struct cmd_list_element *cmd, const char *value)
+{
+  fprintf_filtered (file, _("Max number of complaints about incorrect"
+                           " symbols is %s.\n"),
+                   value);
+}
+
 void
 _initialize_complaints (void)
 {
-  add_setshow_cmd ("complaints", class_support, var_zinteger,
-                  &stop_whining,
-                  "Set max number of complaints about incorrect symbols.",
-                  "Show max number of complaints about incorrect symbols.",
-                  NULL, NULL,
-                  &setlist, &showlist);
-
+  add_setshow_zinteger_cmd ("complaints", class_support, &stop_whining, _("\
+Set max number of complaints about incorrect symbols."), _("\
+Show max number of complaints about incorrect symbols."), NULL,
+                           NULL, complaints_show_value,
+                           &setlist, &showlist);
 }