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