From d9170e221cd615068a166345d86bc1a29643996f Mon Sep 17 00:00:00 2001 From: Andrew Cagney Date: Tue, 15 Jul 2003 15:36:13 +0000 Subject: [PATCH] 2003-07-15 Andrew Cagney * 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 | 8 ++++++++ gdb/complaints.c | 32 +++++++++++++++++++++----------- 2 files changed, 29 insertions(+), 11 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index edc8e40f3ca..32921f7616d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2003-07-15 Andrew Cagney + + * 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 * x86-64-linux-nat.c (regmap): Removed. diff --git a/gdb/complaints.c b/gdb/complaints.c index 47580086dd2..252e654a993 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. */ -- 2.30.2