[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-dev: gEDA-user: What to do with some bugs?
[redirected to geda-dev]
> > What environment? Curious minds want to know...
>
> "Mine". I'm not sure which aspect(s) of it you're interested in.
Toolkit, mostly. I think there are a dozen or so HIDs out there so
far, it's kinda interesting to keep track of them all.
> Well, they don't; most of the calls to the HID's confirm_dialog use a
> bare 0 as a terminator. If memory serves, two more calls have no
> terminator at all, and a third call sometimes is two (varargs) args
> plus a terminator and sometimes three with no terminator, depending on
> a run-time test (it's got a ?: in the third variable arg).
Patches welcome. They're supposed to be NULL terminated.
> But the real problem is that using NULL is simply _wrong_ in a context
> which provides no type - and there aren't many such contexts in C, but
> a varargs argument that's in the variable part of the arglist is one.
If you can find a system where this actually causes a real problem,
we'll fix it (or declare the system to be brain-dead stupid). We use
NULL because on the systems we have where it matters, NULL works and 0
doesn't.
The ISO/IEC 9899:1999 C standard defines NULL as "an
implementation-defined null pointer constant" - no more, no less.
It does say that the integer value 0 may be treated as a null pointer,
but does not say that it can be a suitable expansion of the NULL
macro. It doesn't say it cannot - the implementation may choose to do
so if that results in NULL being a null pointer constant in all
contexts.
_______________________________________________
geda-dev mailing list
geda-dev@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev