Doug Royer <Doug@royer.com> writes:
> And if the default for int or char is unsigned as it can
> be on some systems, the code does exactly that.
There are no systems where "int" means "unsigned int". That would break
(to a first approximation) every C program in existence, as well as
violate the ANSI C specification.
The variables in question do need to be "int" not any flavor of "char",
but we don't need to say "signed int".
regards, tom lane