On Sun, Sep 20, 2015 at 09:40:05PM -0600, Bob Beck wrote:
> I concur, I don't want to see a plethora of "isnumber"
> "ismaybeanumber" bullshit in the tree that
> do the same thing "isdigit" does.. if for whatever reason we want
> isdigit to be more efficient because
> the most important thing I have to do is make shell sleep more
> efficient, we should fix isdigit, or the locale poo..
> 
> But for sure not introduce non-standard ascii-only replacements into
> all code that do not quite what libc does..
> 
> Jesus ted did you learn nothing from OpenSSL? :)

Just remove the setlocale() call to leave sleep(1) in the default "C" locale.

isdigit() and friends can now be considered ASCII-only.
When we still had latin1 etc. it was possible in theory that values between
128 and 255 represented a digit. But now, isdigit() does the same regardless
of locale setting (C or UTF-8) since it cannot be given a multibyte sequence,
i.e. it will not deal with character values above 127.

The function that parses funny numbers is iswdigit() which gets a wchar_t.
But sleep(1) doesn't need that.

Reply via email to