aboutsummaryrefslogtreecommitdiff
path: root/gdb/complaints.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/complaints.c')
-rw-r--r--gdb/complaints.c32
1 files changed, 21 insertions, 11 deletions
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. */