From: Antony Dovgal Date: Tue, 6 Feb 2007 21:43:46 +0000 (+0000) Subject: fix macros for bigendian platforms X-Git-Tag: RELEASE_1_0_1~318 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ea40c23358738ef24cb9723566d13b58b405a7ef;p=php fix macros for bigendian platforms --- diff --git a/ext/phar/phar.c b/ext/phar/phar.c index d6eb1f0c62..90f113cb66 100644 --- a/ext/phar/phar.c +++ b/ext/phar/phar.c @@ -525,14 +525,14 @@ phar_entry_data *phar_get_or_create_entry_data(char *fname, int fname_len, char #ifdef WORDS_BIGENDIAN # define PHAR_GET_32(buffer, var) \ - var = ((unsigned char)(buffer)[3]) << 24 \ - + ((unsigned char)(buffer)[2]) << 16 \ - + ((unsigned char)(buffer)[1]) << 8 \ - + ((unsigned char)(buffer)[0]); \ + var = ((((unsigned char*)(buffer))[3]) << 24) \ + | ((((unsigned char*)(buffer))[2]) << 16) \ + | ((((unsigned char*)(buffer))[1]) << 8) \ + | (((unsigned char*)(buffer))[0]); \ (buffer) += 4 # define PHAR_GET_16(buffer, var) \ - var = ((unsigned char)(buffer)[1]) << 8 \ - + ((unsigned char)(buffer)[0]); \ + var = ((((unsigned char*)(buffer))[1]) << 8) \ + | (((unsigned char*)(buffer))[0]); \ (buffer) += 2 #else # define PHAR_GET_32(buffer, var) \