Re: Header files with enums instead of defines?

From: Sam (sah_at_softcardsystems.com)
Date: 12/22/04

  • Next message: Peter Jeremy: "Re: Header files with enums instead of defines?"
    Date: Wed, 22 Dec 2004 00:24:16 -0500 (EST)
    To: "Greg 'groggy' Lehey" <grog@freebsd.org>
    
    

    > On Tuesday, 21 December 2004 at 20:43:14 -0500, Brian Fundakowski Feldman wrote:
    >> 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.
    >
    > *sigh* Yes, I didn't think about that. Never mind.

    Seems a shame to forgo utility to avoid breaking a fragile
    assumption. Maybe an ifdef ERRNO_T in errno.h that defines
    an enum errno_t instead?

    Sam

    _______________________________________________
    freebsd-arch@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-arch
    To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org"


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