This is the mail archive of the
insight@sources.redhat.com
mailing list for the Insight project.
Re: broken code
- To: tromey at cygnus dot com
- Subject: Re: broken code
- From: Fernando Nasser <fnasser at cygnus dot com>
- Date: Fri, 01 Dec 2000 14:26:11 +0000
- CC: Insight List <insight at sourceware dot cygnus dot com>
- Organization: Red Hat Canada Ltd. - Toronto
- References: <87u28osscd.fsf@creche.cygnus.com>
Tom Tromey wrote:
>
> I see this in gdbtk-hooks.c:
>
> xasprintf (&buf, "gdbtk_tcl_breakpoint %s %d 0x%lx %d {%s} {%s} %d %d",
> action, b->number, (long) b->address, b->line_number, filename,
> bpdisp[b->disposition], b->enable, b->thread);
>
> In general, code like this is simply broken. Using `{%s}' works for
> some situations, but not others. It seems to work, since it works in
> the common cases, but it makes gdbtk less robust.
>
> If you need to build a list, you should use the Tcl DString functions.
>
> Maybe everybody working on the code already knows this. I don't know.
> I didn't look to see who writes this sort of thing (I'd rather not
> know :-).
>
We should leave the code in the gdbtk-* files alone for a while. Most
of it will either move to gdb as part of the libgdb or will be changed
to call libgdb functions or use the MI interface.
And, "in ain't broken, don't fix it" :-)
--
Fernando Nasser
Red Hat Canada Ltd. E-Mail: fnasser@redhat.com
2323 Yonge Street, Suite #300
Toronto, Ontario M4P 2C9