]> granicus.if.org Git - php/commitdiff
BUGFIX: incorrect restoring of negative integers from WSDL cache
authorDmitry Stogov <dmitry@php.net>
Mon, 16 Feb 2004 16:32:52 +0000 (16:32 +0000)
committerDmitry Stogov <dmitry@php.net>
Mon, 16 Feb 2004 16:32:52 +0000 (16:32 +0000)
ext/soap/php_sdl.c

index 9353c0bac59ed2b9e760111415dc3e24586351c7..2a74869e263e8619af277b6c832f03a7c0844854 100644 (file)
@@ -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;