cellog          Sun Feb 15 18:51:46 2009 UTC

  Modified files:              (Branch: PHP_5_3)
    /php-src/ext/phar   config.m4 tar.c 
  Log:
  fix setting of 32-bit value on big-endian systems
  
http://cvs.php.net/viewvc.cgi/php-src/ext/phar/config.m4?r1=1.27.2.10&r2=1.27.2.11&diff_format=u
Index: php-src/ext/phar/config.m4
diff -u php-src/ext/phar/config.m4:1.27.2.10 
php-src/ext/phar/config.m4:1.27.2.11
--- php-src/ext/phar/config.m4:1.27.2.10        Wed Jan 28 20:39:15 2009
+++ php-src/ext/phar/config.m4  Sun Feb 15 18:51:46 2009
@@ -1,4 +1,4 @@
-dnl $Id: config.m4,v 1.27.2.10 2009/01/28 20:39:15 johannes Exp $
+dnl $Id: config.m4,v 1.27.2.11 2009/02/15 18:51:46 cellog Exp $
 dnl config.m4 for extension phar
 
 PHP_ARG_ENABLE(phar, for phar archive support,
@@ -6,10 +6,10 @@
 
 if test "$PHP_PHAR" != "no"; then
   PHP_C_BIGENDIAN
-  if test $ac_cv_c_bigendian_php = yes; then
-    AC_MSG_WARN([Disabling Phar due to crash bugs on big endian systems])
-    PHP_PHAR=no
-  else
+dnl  if test $ac_cv_c_bigendian_php = yes; then
+dnl    AC_MSG_WARN([Disabling Phar due to crash bugs on big endian systems])
+dnl    PHP_PHAR=no
+dnl  else
   PHP_NEW_EXTENSION(phar, util.c tar.c zip.c stream.c func_interceptors.c 
dirstream.c phar.c phar_object.c phar_path_check.c, $ext_shared)
   AC_MSG_CHECKING([for phar openssl support])
   if test "$PHP_HASH_SHARED" != "yes"; then
@@ -32,5 +32,5 @@
   PHP_ADD_EXTENSION_DEP(phar, hash, true)
   PHP_ADD_EXTENSION_DEP(phar, spl, true)
   PHP_ADD_MAKEFILE_FRAGMENT
-  fi
+dnl  fi
 fi
http://cvs.php.net/viewvc.cgi/php-src/ext/phar/tar.c?r1=1.55.2.25&r2=1.55.2.26&diff_format=u
Index: php-src/ext/phar/tar.c
diff -u php-src/ext/phar/tar.c:1.55.2.25 php-src/ext/phar/tar.c:1.55.2.26
--- php-src/ext/phar/tar.c:1.55.2.25    Wed Dec 31 11:15:42 2008
+++ php-src/ext/phar/tar.c      Sun Feb 15 18:51:46 2009
@@ -1084,10 +1084,10 @@
 
 #ifdef WORDS_BIGENDIAN
 # define PHAR_SET_32(var, buffer) \
-       *(php_uint32 *)(var) = (((((unsigned char*)(buffer))[3]) << 24) \
-               | ((((unsigned char*)(buffer))[2]) << 16) \
-               | ((((unsigned char*)(buffer))[1]) << 8) \
-               | (((unsigned char*)(buffer))[0]))
+       *(php_uint32 *)(var) = (((((unsigned char*)&(buffer))[3]) << 24) \
+               | ((((unsigned char*)&(buffer))[2]) << 16) \
+               | ((((unsigned char*)&(buffer))[1]) << 8) \
+               | (((unsigned char*)&(buffer))[0]))
 #else
 # define PHAR_SET_32(var, buffer) *(php_uint32 *)(var) = (php_uint32) (buffer)
 #endif



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to