Stephen Fisher wrote:

> Well, since (g)char defaults to unsigned on most platforms,

No, it doesn't.  "char" defaults to *signed* on most platforms, because

        1) the PDP-11's "movb" instruction sign-extended, so "char" was made 
signed on the PDP-11

and

        2) the VAX C implementation did the same, to make as much code continue 
to work without change

and

        3) almost everybody else did the same for PDP-11 or VAX compatibility.

I think there were a few with unsigned "char" - I think the C for the 
UNIX on the Gould (SEL) 32-bit superminis was one - but they were rare.

> The problem is that we 
> use guint8 all over the place, but the standard C and GLib functions use 
> char.

"guint8" is appropriate for an octet whose contents might, or might not, 
be text.

"char" is appropriate for C strings (it's unfortunate that it wasn't 
unsigned by default, to avoid ugly sign-extension in, for example, the 
is*() macros, with something such as "{unsigned} short short int" for 
8-bit integral data types, but I digress...).
_______________________________________________
Wireshark-dev mailing list
[email protected]
http://www.wireshark.org/mailman/listinfo/wireshark-dev

Reply via email to