From: Dmitry Stogov Date: Mon, 16 Feb 2004 16:32:52 +0000 (+0000) Subject: BUGFIX: incorrect restoring of negative integers from WSDL cache X-Git-Tag: RELEASE_0_2_0~305 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1350643b8c1d9fded37b7db68d73566160ea802f;p=php BUGFIX: incorrect restoring of negative integers from WSDL cache --- diff --git a/ext/soap/php_sdl.c b/ext/soap/php_sdl.c index 9353c0bac5..2a74869e26 100644 --- a/ext/soap/php_sdl.c +++ b/ext/soap/php_sdl.c @@ -877,7 +877,7 @@ static sdlPtr load_wsdl(char *struri) #define WSDL_CACHE_VERSION 01 #define WSDL_CACHE_GET(ret,type,buf) memcpy(&ret,*buf,sizeof(type)); *buf += sizeof(type); -#define WSDL_CACHE_GET_INT(ret,buf) ret = ((int)(*buf)[0])+((int)(*buf)[1]<<8)+((int)(*buf)[2]<<16)+((int)(*buf)[3]<<24); *buf += 4; +#define WSDL_CACHE_GET_INT(ret,buf) ret = ((int)(*buf)[0])|((int)(*buf)[1]<<8)|((int)(*buf)[2]<<16)|((int)(*buf)[3]<<24); *buf += 4; #define WSDL_CACHE_GET_1(ret,type,buf) ret = (type)(**buf); (*buf)++; #define WSDL_CACHE_GET_N(ret,n,buf) memcpy(ret,*buf,n); *buf += n; #define WSDL_CACHE_SKIP(n,buf) *buf += n;