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.

Reply via email to