This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFC/RFA] Add support for catch Ada exceptions (take 2)
- From: Joel Brobecker <brobecker at adacore dot com>
- To: Eli Zaretskii <eliz at gnu dot org>
- Cc: gdb-patches at sourceware dot org
- Date: Tue, 2 Jan 2007 09:45:23 +0400
- Subject: Re: [RFC/RFA] Add support for catch Ada exceptions (take 2)
- References: <20061231060649.GF25236@adacore.com> <uwt47afr4.fsf@gnu.org>
> > + switch (b->type)
> > + {
> > + case bp_catch_exception:
> > + if (b->addr_string != NULL)
> > + {
> > + const char *template = _("`%s' Ada exception");
> > + char *msg = alloca (strlen (template) + strlen (b->addr_string));
> > +
> > + sprintf (msg, _("`%s' Ada exception"), b->addr_string);
>
> Why don't you use `template' instead of having two identical strings?
That's what I first did, but the compiler complains that he cannot check
the string format. Perhaps I could use a macro instead of the plain
string, that would reduce a bit the chances of mismatch. This case is
very similar to a case discussed recently. Since the strings are very
close, the changes of discrepancy are very slim.
I prefer this solution over using xsnprintf as suggested by Mark,
because we then introduce an arbitrary constant. But it's only a mild
preference, however, so let me know if you prefer it like this:
char msg[512];
xsnprintf (msg, sizeof (msg), _("`%s' Ada exception"), b->addr_string);
--
Joel