[Dovecot] Pigeonhole 2.2 build issue on arm

Stephan Bosch stephan at rename-it.nl
Wed Jan 19 18:45:08 EET 2011


> When building Pigeonhole 2.2 for ARM, the following warnings are
> produced:
>
>   uri-mailto.c: In function '_parse_hex_value':
>   uri-mailto.c:139: warning: comparison is always false due to limited 
> range of data type
>   uri-mailto.c:145: warning: comparison is always false due to limited 
> range of data type
>
> The problem is a test assuming that char is a signed type :
>

Indeed. This is what I would call a programming atrocity. Notice the 
return type casts in the _decode_hex_digit function; no idea why the 
actual return type was char.

> This is untested, but I changed the "char value" to "int value" to
> correct the signed comparisons. There are no warnings when building
> for x86 in either case, btw.
>
That is a good fix. I did it a little more elaborate though:

http://hg.rename-it.nl/dovecot-2.0-pigeonhole/rev/8a07ae3e0a2e

> Also, the two tests for "**in == '\0'" seem to be unnecessary?

Yes, that too.


Regards,

Stephan.



More information about the dovecot mailing list