Skip site navigation (1)Skip section navigation (2)
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>