X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=gdb%2Fcomplaints.c;h=8d1321c985b5756a383457cef230b9f7dabf3a14;hb=6aba47ca06d9150c6196a374b745c2711b46e045;hp=ed24f432406abce9a34fc25d23fd4db25ad399ce;hpb=ce2826aa7a697eed52dcb0aee57d087b285ebef0;p=thirdparty%2Fbinutils-gdb.git diff --git a/gdb/complaints.c b/gdb/complaints.c index ed24f432406..8d1321c985b 100644 --- a/gdb/complaints.c +++ b/gdb/complaints.c @@ -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); @@ -297,7 +298,7 @@ clear_complaints (struct complaints **c, int less_verbose, int noisy) 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); }