Date: Wed, 22 Dec 2004 18:45:16 +0100 From: "Poul-Henning Kamp" <phk@phk.freebsd.dk> To: "Greg 'groggy' Lehey" <grog@freebsd.org> Cc: FreeBSD Architecture Mailing List <arch@freebsd.org> Subject: Re: Header files with enums instead of defines? Message-ID: <8412.1103737516@critter.freebsd.dk> In-Reply-To: Your message of "Wed, 22 Dec 2004 11:31:43 %2B1030." <20041222010143.GS53357@wantadilla.lemis.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <20041222010143.GS53357@wantadilla.lemis.com>, "Greg 'groggy' Lehey" writes: >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: I agree with others who have shot this down: compatibility would not allow us to do something like that. But that is not to say that the error reporting mechanism could not be improved in other ways. One of my pet peeves is that comples system calls have no way to convey additional information about why the return a given return value like EPERM. I would almost advocate adding a char[X] to each thread and a system call which could retrieve it. Complex system calls like mount/nmount, ioctl and similar could then stick an explanation into that string which strerror(3) or err(3) and similar functions could pull out and give the user. There is a heck of a difference between getting: fdisk: permission denied And fdisk: permission denied (partitions overlap) -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8412.1103737516>