This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC/RFA] Add support for catch Ada exceptions (take 2)


> > +  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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]