Ian Abbott said:
Please fix it so that it does not pass char into the isfoo() functions since they have undefined results for negative values other than -1.
http://pubs.opengroup.org/onlinepubs/009695399/functions/isalnum.html
An easy fix is to cast the value to unsigned char.
I believe you replied to the wrong thread, but isascii() should be defined for all integer values:
http://pubs.opengroup.org/onlinepubs/009695399/functions/isascii.html
and the code only calls isalnum() if isascii() returns a non-zero value.
isascii isn't part of the C Standard. It is better to follow C, which says that the argument to all the is* functions should be an unsigned char or EOF (which is what getc() and friends return). -- Clive D.W. Feather | If you lie to the compiler, Email: clive@davros.org | it will get its revenge. Web: http://www.davros.org | - Henry Spencer Mobile: +44 7973 377646