This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[commit] Eliminate variable from print format


Hello,

This eliminates a use of a variable as a format specifier in complaints.c. Was debugging some code that was producing corrupt output as part of a print, eliminating this eliminated one potential cause of the problem.

Committed.

Andrew
2003-07-15  Andrew Cagney  <cagney@redhat.com>

	* complaints.c (struct explanation): Define.
	(struct complaints): Change type of "explanation" to "struct
	explanation".
	(symfile_explanations): Convert to a "struct explanation" table.
	(vcomplaint): Update.

Index: complaints.c
===================================================================
RCS file: /cvs/src/src/gdb/complaints.c,v
retrieving revision 1.10
diff -u -r1.10 complaints.c
--- complaints.c	28 Jan 2003 19:53:25 -0000	1.10
+++ complaints.c	15 Jul 2003 15:33:49 -0000
@@ -60,6 +60,15 @@
   struct complain *next;
 };
 
+/* The explanatory message that should accompany the complaint.  The
+   message is in two parts - pre and post - that are printed around
+   the complaint text.  */
+struct explanation
+{
+  const char *prefix;
+  const char *postfix;
+};
+
 struct complaints
 {
   struct complain *root;
@@ -75,20 +84,21 @@
   /* The explanatory messages that should accompany the complaint.
      NOTE: cagney/2002-08-14: In a desperate attempt at being vaguely
      i18n friendly, this is an array of two messages.  When present,
-     EXPLANATION[SERIES] is used to wrap the message.  */
-  const char **explanation;
+     the PRE and POST EXPLANATION[SERIES] are used to wrap the
+     message.  */
+  const struct explanation *explanation;
 };
 
 static struct complain complaint_sentinel;
 
 /* The symbol table complaint table.  */
 
-static const char *symfile_explanations[] = {
-  "During symbol reading, %s.",
-  "During symbol reading...%s...",
-  "%s...",
-  "%s...",
-  NULL
+static struct explanation symfile_explanations[] = {
+  { "During symbol reading, ", "." },
+  { "During symbol reading...", "..."},
+  { "", "..."},
+  { "", "..."},
+  { NULL, NULL }
 };
 
 static struct complaints symfile_complaint_book = {
@@ -192,9 +202,9 @@
 	  wrap_here ("");
 	  if (series != SUBSEQUENT_MESSAGE)
 	    begin_line ();
-	  fprintf_filtered (gdb_stderr,
-			    complaints->explanation[series],
-			    msg);
+	  fprintf_filtered (gdb_stderr, "%s%s%s",
+			    complaints->explanation[series].prefix, msg,
+			    complaints->explanation[series].postfix);
 	  /* Force a line-break after any isolated message.  For the
              other cases, clear_complaints() takes care of any missing
              trailing newline, the wrap_here() is just a hint.  */

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]