suppress a "integer overflow in expression" waring on big endian. Closes 4405
authorDenys Vlasenko <vda.linux@googlemail.com>
Mon, 5 Dec 2011 03:54:14 +0000 (04:54 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Mon, 5 Dec 2011 03:54:14 +0000 (04:54 +0100)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
include/bb_archive.h

index 9e176d33555c44c96b2b5e80fa902d61e4929b44..d1a9a34ec9abd0a776ae2f6f6421f7f76ec324a7 100644 (file)
@@ -12,9 +12,10 @@ enum {
        /* .xz signature: 0xfd, '7', 'z', 'X', 'Z', 0x00 */
        /* More info at: http://tukaani.org/xz/xz-file-format.txt */
        XZ_MAGIC1   = 256 * 0xfd + '7',
-       XZ_MAGIC2   = 256 * (256 * (256 * 'z' + 'X') + 'Z') + 0,
+       XZ_MAGIC2   = 256 * (unsigned)(256 * (256 * 'z' + 'X') + 'Z') + 0,
        /* Different form: 32 bits, then 16 bits: */
-       XZ_MAGIC1a  = 256 * (256 * (256 * 0xfd + '7') + 'z') + 'X',
+       /* (unsigned) cast suppresses "integer overflow in expression" warning */
+       XZ_MAGIC1a  = 256 * (unsigned)(256 * (256 * 0xfd + '7') + 'z') + 'X',
        XZ_MAGIC2a  = 256 * 'Z' + 0,
 #else
        COMPRESS_MAGIC = 0x9d1f,