aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2003-07-15 15:36:13 +0000
committerAndrew Cagney <cagney@redhat.com>2003-07-15 15:36:13 +0000
commitd9170e221cd615068a166345d86bc1a29643996f (patch)
treee1792be2c30ce0025d84deb0661630514670e786
parentccbe497c5337718d872e0c6f755210bf7dbc5acc (diff)
downloadbinutils-d9170e221cd615068a166345d86bc1a29643996f.zip
binutils-d9170e221cd615068a166345d86bc1a29643996f.tar.gz
binutils-d9170e221cd615068a166345d86bc1a29643996f.tar.bz2
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.
-rw-r--r--gdb/ChangeLog8
-rw-r--r--gdb/complaints.c32
2 files changed, 29 insertions, 11 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index edc8e40..32921f7 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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.
diff --git a/gdb/complaints.c b/gdb/complaints.c
index 4758008..252e654 100644
--- a/gdb/complaints.c
+++ b/gdb/complaints.c
@@ -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. */