]> granicus.if.org Git - php/commitdiff
fix macro so that 5-byte BIT values are decoded correctly
authorAndrey Hristov <andrey@php.net>
Wed, 2 Dec 2009 11:58:04 +0000 (11:58 +0000)
committerAndrey Hristov <andrey@php.net>
Wed, 2 Dec 2009 11:58:04 +0000 (11:58 +0000)
ext/mysqlnd/mysqlnd_portability.h

index 43cb505861ffdc2ec967a279a4e38904be0c9fca..ea8fa3c6ea8bd76bedbaa5fa271148118f609467 100644 (file)
@@ -247,10 +247,10 @@ typedef unsigned long long uint64_t;
                                                                        (((uint32_t) (((zend_uchar*) (A))[0])) << 24)))
 
 #define bit_uint5korr(A)  ((uint64_t)(((uint32_t) ((zend_uchar) (A)[4])) +\
-                                  (((uint32_t) ((zend_uchar) (A)[3])) << 8) +\
-                                  (((uint32_t) ((zend_uchar) (A)[2])) << 16) +\
-                                  (((uint32_t) ((zend_uchar) (A)[1])) << 24)) +\
-                               (((uint64_t) ((zend_uchar) (A)[0])) << 32))
+                                  (((uint32_t) ((zend_uchar*) (A)[3])) << 8) +\
+                                  (((uint32_t) ((zend_uchar*) (A)[2])) << 16) +\
+                                  (((uint32_t) ((zend_uchar*) (A)[1])) << 24)) +\
+                               (((uint64_t) ((zend_uchar*) (A)[0])) << 32))
 
 #define bit_uint6korr(A)       ((uint64_t)(((uint32_t) (((zend_uchar*) (A))[5])) +\
                                                                        (((uint32_t) (((zend_uchar*) (A))[4])) << 8) +\