Fix Intel compiler warning about change of sign

The variable c is unsigned, so the second operand is unsigned,
constraing the -1 to be unsigned too and causing a change of sign.
Instead, cast the middle operations to int, as that's the return value
anyway.

error #68: integer conversion resulted in a change of sign

Change-Id: I1a800c709d3543699131ffff13c2fd79f14f8b43
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
This commit is contained in:
Thiago Macieira 2015-02-14 21:45:32 -08:00
parent aa855afa44
commit 738e9b185c

View File

@ -63,9 +63,9 @@ Q_DECL_CONSTEXPR inline char toHexLower(uint value) Q_DECL_NOTHROW
Q_DECL_CONSTEXPR inline int fromHex(uint c) Q_DECL_NOTHROW
{
return ((c >= '0') && (c <= '9')) ? c - '0' :
((c >= 'A') && (c <= 'F')) ? c - 'A' + 10 :
((c >= 'a') && (c <= 'f')) ? c - 'a' + 10 :
return ((c >= '0') && (c <= '9')) ? int(c - '0') :
((c >= 'A') && (c <= 'F')) ? int(c - 'A' + 10) :
((c >= 'a') && (c <= 'f')) ? int(c - 'a' + 10) :
/* otherwise */ -1;
}
@ -76,7 +76,7 @@ Q_DECL_CONSTEXPR inline char toOct(uint value) Q_DECL_NOTHROW
Q_DECL_CONSTEXPR inline int fromOct(uint c) Q_DECL_NOTHROW
{
return ((c >= '0') && (c <= '7')) ? c - '0' : -1;
return ((c >= '0') && (c <= '7')) ? int(c - '0') : -1;
}
}