those who know me have no need of my name wrote:
>
> in comp.lang.c i read:
>
> all your casts of ch to UCHAR are a waste of time -- mine to see
> it and yours to write it; heck even the compiler's, and the
> cpu's if code was emitted -- as the source of ch's value is
> getc, which provides exactly the value semantics you
> (redundantly) specify with the cast.
True enough. However you know that any bugs are not due to passing
a negative non-EOF value to isspace etc.

>
> in the readxwd and readxint functions you initially loop to skip
> blanks, yet earlier you defined a blank skipping function -- why
> aren't you using it? then again you specifically state that the
> user should skip blanks prior to calling the functions if that
> is their desire, so those loops seem contrary.
The code for skipping blanks was put in because it seemed more
efficient, and the code was trivial. The other notation is if the
user wants to also skip whitespace, which includes newlines,
vertical tabs, etc. a-la scanf.
>
>> digit = (unsigned) (ch - '0');
>
> this cast is also unnecessary, not the least because ch passed
> an isdigit test, but also because digit has type unsigned.
Also true. However you seem to have failed to quote the relative
portions, thus making it hard, or even impossible, for others to
understand what you are talking about.
This code has been lying about for 5 years or so here, waiting for
me to get a round tuit and polish it up. That's why it is missing
the ability to handle floats, longs, etc. and has not been bullet
proofed for max negative values. I posted it to satisfy someone
who worried about the line skipping when using scanf, as a means of
avoiding pre-assigned buffers.
Your criticisms seem not to affect the validity of the code.
--
Some informative links:
news:news.announce.newusers
http://www.geocities.com/nnqweb/
http://www.catb.org/~esr/faqs/smart-questions.html
http://www.caliburn.nl/topposting.html
http://www.netmeister.org/news/learn2quote.html