As for the the whole "char unsigned" versus "unsigned char" thing,
well I don't care to debate in anymore but it's such a ridiculously
stupid thing in my head. The very fact that Mr Klein even brought up
the issue makes me wonder what's going thru his head
I have a purely statisical comment with no value judgement whatsoever
(and notice that I only use the word "I" and "we" in the following message).
I just grepped several large code base that I happened to have unzipped
on my machine.
FreeBSD 7.0 kernel source code (7141 files totalling 123M)
"unsigned char" appeared 2089 times.
"char unsigned" never appeared
PostgreSQL 8.3.1 complete source code (3325 files totaling 81M).
"unsigned char" appeared 1301 times.
"char unsigned" never appeared
MySQL 5.1.22 complete source code (6754 files totaling 164M)
"unsigned char" appeared 1732 times.
"char unsigned" never appeared
QT 4.3.1 complete source code for XWindows (13204 files totaling 175M)
"unsigned char" appeared 1018 times.
"char unsigned" never appeared.
FFMpeg video encoder and decoder vesion 2007/10/4 (714 files, 14M)
"unsigned char" appeared 1083 times.
"char unsigned" never appeared.
FreeBSD and PostgreSQL and MySQL all have hundreds or more contributors
contributing over the last decade and more.
So the statistical evidence seems to suggest that "char unsigned" is rare.
And I strongly suspect that we will find the same result whether we
grep through Firefox source code, or OpenOffice,
or Linux, or XFree86, or Gnome, or KDE, and indeed probably
the majority of C and C++ code base out there.
Google for "unsigned char" (with the double quotes) and we get 3,350,000 hits.
Google for "char unsigned" and we get 161,000 hits,
and looking at the first 10 hits, we can assume that many of these are mis-hits
(First hit talks about "char, unsigned char, signed char functions"
Second hit is "keyword (char char) (unsigned-char char)"
Third hit is "char -> unsigned char: msg #0000"...)