Re: Header files with enums instead of defines?

From: Peter Pentchev (roam_at_ringlet.net)
Date: 12/22/04

  • Next message: Peter Edwards: "Re: Header files with enums instead of defines?"
    Date: Wed, 22 Dec 2004 12:38:44 +0200
    To: Peter Jeremy <PeterJeremy@optushome.com.au>
    
    
    

    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@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.
    
    



  • Next message: Peter Edwards: "Re: Header files with enums instead of defines?"

    Relevant Pages