Header files with enums instead of defines?
Peter Pentchev
roam at ringlet.net
Wed Dec 22 02:38:48 PST 2004
On Wed, Dec 22, 2004 at 08:08:55PM +1100, Peter Jeremy wrote:
> On Wed, 2004-Dec-22 11:31:43 +1030, Greg 'groggy' Lehey wrote:
> >Has anybody thought about replacing #defines with enums in header
> >files? It would make debugging a whole lot easier. Foe example, I'm
> >currently looking at a debug printout which contains:
> >
> > xerrno = 17,
> ...
> > xerrno = EEXIST,
>
> K&R2 states that errno is an "integer expression" and that the error
> values are "macros". I suspect POSIX and newer C standards say something
> similar.
The Single Unix Specification goes to great pains to repeat over and
over again that the error codes are 'symbolic constants', which IMHO
may be taken to mean either a #define'd macro or an enum value.
I, too, went to check with more than half a hunch that it would mandate
that the error codes be macros, but it turned out it doesn't :)
Still, all the other objections about enums not really being ints
are quite valid :)
G'luck,
Peter
--
Peter Pentchev roam at ringlet.net roam at cnsys.bg roam at FreeBSD.org
PGP key: http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553
If you think this sentence is confusing, then change one pig.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-arch/attachments/20041222/fabaed52/attachment.bin
More information about the freebsd-arch
mailing list