Re: at least 260 packages broken on arm, powerpc and s390 due to wrong assumption on char signedness
On 31-Dec-01, 19:42 (CST), Ganesan R <firstname.lastname@example.org> wrote:
> Another thing that puzzles me since this whole debate started. If you look
> at the declaration of ctype.h functions (isalpha family), they take a int as
> an argument.
The reason the argument for these is int is a relic of the dark ages,
aka K&R C. Before function prototypes, there was no way to pass a real
char (or short) to a function: such arguments were promoted to int.
(Likewise, float was promoted to double -- thus all the math.h functions
taking double args.)
I don't know that I agree about needing to pass them unsigned char,
though. The char->int conversion should be value preserving. If you pass
a negative value, then you are making a domain error, and deserve what