Header files with enums instead of defines?

Brian Fundakowski Feldman green at FreeBSD.org
Tue Dec 21 17:43:16 PST 2004


On Wed, Dec 22, 2004 at 11:31:43AM +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, 
> 
> To find out what that means, I need to go to
> /usr/src/include/sys/errno.h and look for 17.  I find:
> 
> #define	EEXIST		17		/* File exists */
> 
> If we were to change this to 
> 
> enum EEXIST = 17;	                /* File exists */
> 
> I'd then be able to see:
> 
>   xerrno = EEXIST, 
> 
> That makes debugging a whole lot easier.  About the only down side I
> can see is that you can't #undef an enum.  Is this a big deal?

I think you'll screw up an awful lot of people that #ifdef based upon
the errno names.

-- 
Brian Fundakowski Feldman                           \'[ FreeBSD ]''''''''''\
  <> green at FreeBSD.org                               \  The Power to Serve! \
 Opinions expressed are my own.                       \,,,,,,,,,,,,,,,,,,,,,,\


More information about the freebsd-arch mailing list