The domxml extension is casting pointers to int.  The patch below fixes
this for most 64-bit platforms, maybe there is a better way which avoids
casting to an integer at all?

--- php-4.3.2/ext/domxml/php_domxml.c.domxml    2003-05-13 15:42:23.000000000 +0100
+++ php-4.3.2/ext/domxml/php_domxml.c   2003-05-30 22:38:46.000000000 +0100
@@ -858,7 +858,7 @@
 
        MAKE_STD_ZVAL(addr);
        Z_TYPE_P(addr) = IS_LONG;
-       Z_LVAL_P(addr) = (int) obj;
+       Z_LVAL_P(addr) = (long) obj;
 
        zend_hash_index_update(Z_OBJPROP_P(wrapper), 0, &handle, sizeof(zval *), NULL);
        zend_hash_index_update(Z_OBJPROP_P(wrapper), 1, &addr, sizeof(zval *), NULL);
@@ -972,7 +972,7 @@
 
        MAKE_STD_ZVAL(addr);
        Z_TYPE_P(addr) = IS_LONG;
-       Z_LVAL_P(addr) = (int) obj;
+       Z_LVAL_P(addr) = (long) obj;
 
        zend_hash_index_update(Z_OBJPROP_P(wrapper), 0, &handle, sizeof(zval *), NULL);
        zend_hash_index_update(Z_OBJPROP_P(wrapper), 1, &addr, sizeof(zval *), NULL);
@@ -1027,7 +1027,7 @@
 
        MAKE_STD_ZVAL(addr);
        Z_TYPE_P(addr) = IS_LONG;
-       Z_LVAL_P(addr) = (int) obj;
+       Z_LVAL_P(addr) = (long) obj;
 
        zend_hash_index_update(Z_OBJPROP_P(wrapper), 0, &handle, sizeof(zval *), NULL);
        zend_hash_index_update(Z_OBJPROP_P(wrapper), 1, &addr, sizeof(zval *), NULL);
@@ -1144,7 +1144,7 @@
 
        MAKE_STD_ZVAL(addr);
        Z_TYPE_P(addr) = IS_LONG;
-       Z_LVAL_P(addr) = (int) obj;
+       Z_LVAL_P(addr) = (long) obj;
 
        zend_hash_index_update(Z_OBJPROP_P(wrapper), 0, &handle, sizeof(zval *), NULL);
        zend_hash_index_update(Z_OBJPROP_P(wrapper), 1, &addr, sizeof(zval *), NULL);

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to