Stephen Fisher wrote:
> On Wed, Mar 28, 2007 at 03:04:27PM +0800, Jeff Morriss wrote:
>> Stephen Fisher wrote:
>>> Almost all of the warnings I've fixed so far are "sign mismatches" 
>>> between guint8* and (g)char* :(.  552 of the 795 remaining warnings 
>>> outside of the .cnf files are this problem.
>> Is casting away signed and unsigned really the way to go with that?
> 
> Well, since (g)char defaults to unsigned on most platforms, it is 
> usually the same as a guint8.  So it isn't really a mismatch; I think 

Well, both glib-1.2 and 2.0 on Linux and Solaris say:

> typedef char   gchar;
> typedef unsigned char   guchar;

and it looks like you recently changed things like:

>         const char *dn;
[...]
> -                   format_text(dn, strlen(dn)));
> +                   format_text(dn, strlen((guchar*)dn)));

but strlen() usually takes a (const) char*.

That makes no sense to me.  Maybe the compiler is wrong?

> gcc 4.0 is warning about it for portability to platforms that don't have 
> (g)char unsigned by default (which are they?).  The problem is that we 
> use guint8 all over the place, but the standard C and GLib functions use 
> char.  So there is a lot of going back and forth in the code.  The 
> implicit "conversion" is already being done and the code works, I'm just 
> making it explicit with a cast.  I'm open to other ideas if you have any 
> other than getting rid of our use of guint8 :).

That's why I suggested turning on "-Wno-pointer-sign" (because I don't 
have a better idea and I don't particularly like the idea of just 
casting them all away).

_______________________________________________
Wireshark-dev mailing list
Wireshark-dev@wireshark.org
http://www.wireshark.org/mailman/listinfo/wireshark-dev

Reply via email to