[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
[email protected]
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev

Reply via email to