Subject: Re: lib/19638: isalpha (3) bug
To: Jason R Thorpe <thorpej@wasabisystems.com>
From: Mike Cheponis <mac@Wireless.Com>
List: netbsd-bugs
Date: 01/03/2003 18:59:55
I guess, in sum, I conclude that the isxxx() functions are broken.  I know
that's not the "official" case, just my opinion.

Thanks all for being in on this discussion.

-Mike

p.s. When I started this, the behavior I described was undocumented in 1.6.
It has now been properly documented, but I don't know if that fix has been
pulled up into 1.6 release.

I agree, I have no problem understanding the limitations of routines and
adhering to them.

Lastly, I -still- believe libc should be held to a higher standard.  Maybe
I'm crazy on this, but it seems "reasonable" to me.


On Fri, 3 Jan 2003, Jason R Thorpe wrote:

> Date: Fri, 3 Jan 2003 18:02:23 -0800
> From: Jason R Thorpe <thorpej@wasabisystems.com>
> To: Mike Cheponis <mac@Wireless.Com>
> Cc: matthew green <mrg@eterna.com.au>, martin@duskware.de,
>      netbsd-bugs@netbsd.org, Dave Sainty <dave@dtsp.co.nz>
> Subject: Re: lib/19638: isalpha (3) bug
>
> On Fri, Jan 03, 2003 at 05:03:54PM -0800, Mike Cheponis wrote:
>
>  > It's hard enough to write robust code in C, why have libc make it even
>  > harder?
>
> We haven't made it any harder since, by definition, the behavior is
> undefined and users of the interface must avoid passing invalid arguments
> in order for the behavior to remain defined.
>
> No matter what system you have, you CANNOT RELY on "undefined behavior",
> and doing so makes your program LESS ROBUST by definition.
>
> --
>         -- Jason R. Thorpe <thorpej@wasabisystems.com>
>