2003-07-15 Andrew Cagney <cagney@redhat.com>
authorAndrew Cagney <cagney@redhat.com>
Tue, 15 Jul 2003 15:36:13 +0000 (15:36 +0000)
committerAndrew Cagney <cagney@redhat.com>
Tue, 15 Jul 2003 15:36:13 +0000 (15:36 +0000)
* complaints.c (struct explanation): Define.
(struct complaints): Change type of "explanation" to "struct
explanation".
(symfile_explanations): Convert to a "struct explanation" table.
(vcomplaint): Update.

gdb/ChangeLog
gdb/complaints.c

index edc8e40..32921f7 100644 (file)
@@ -1,3 +1,11 @@
+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.
+
 2003-07-15  Michal Ludvig  <mludvig@suse.cz>
 
        * x86-64-linux-nat.c (regmap): Removed.
index 4758008..252e654 100644 (file)
@@ -60,6 +60,15 @@ struct complain
   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 @@ struct complaints
   /* 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 @@ vcomplaint (struct complaints **c, const char *file, int line, const char *fmt,
          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.  */