Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Dec 2004 12:38:44 +0200
From:      Peter Pentchev <roam@ringlet.net>
To:        Peter Jeremy <PeterJeremy@optushome.com.au>
Cc:        FreeBSD Architecture Mailing List <arch@freebsd.org>
Subject:   Re: Header files with enums instead of defines?
Message-ID:  <20041222103844.GI801@straylight.m.ringlet.net>
In-Reply-To: <20041222090855.GO79646@cirb503493.alcatel.com.au>
References:  <20041222010143.GS53357@wantadilla.lemis.com> <20041222090855.GO79646@cirb503493.alcatel.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help

--hABqaeELJqnDDeDE
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

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 =3D 17,=20
> ...
> >  xerrno =3D EEXIST,=20
>=20
> 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

--=20
Peter Pentchev	roam@ringlet.net    roam@cnsys.bg    roam@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.

--hABqaeELJqnDDeDE
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (FreeBSD)

iD8DBQFByU607Ri2jRYZRVMRAm9tAJ9U3h/IdMYLWhA2M9Uc5uKe0v4atQCfaRYn
4auVXtjQTYzr2FswtmUTkAk=
=8Xtm
-----END PGP SIGNATURE-----

--hABqaeELJqnDDeDE--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041222103844.GI801>