From: Andi Gutmans Date: Sat, 28 Jul 2001 18:33:06 +0000 (+0000) Subject: - Small patch to allow fixing the PHP tree to be compatible w/ the initial X-Git-Tag: PRE_ENGINE2_SPLIT~235 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b40db64d0d32eda78212b1de902ce3238abda2c2;p=php - Small patch to allow fixing the PHP tree to be compatible w/ the initial - Zend 2 objects patch. Hopefully I can commit that this week. --- diff --git a/Zend/zend.h b/Zend/zend.h index 579813d351..2d171a40d9 100644 --- a/Zend/zend.h +++ b/Zend/zend.h @@ -170,6 +170,11 @@ typedef unsigned short zend_ushort; typedef struct _zval_struct zval; typedef struct _zend_class_entry zend_class_entry; +typedef struct _zend_object { + zend_class_entry *ce; + HashTable *properties; +} zend_object; + typedef union _zvalue_value { long lval; /* long value */ double dval; /* double value */ @@ -178,10 +183,7 @@ typedef union _zvalue_value { int len; } str; HashTable *ht; /* hash table value */ - struct { - zend_class_entry *ce; - HashTable *properties; - } obj; + zend_object obj; } zvalue_value; diff --git a/Zend/zend_operators.h b/Zend/zend_operators.h index 9755ffae1d..6875dd48d2 100644 --- a/Zend/zend_operators.h +++ b/Zend/zend_operators.h @@ -216,6 +216,7 @@ ZEND_API int zend_atoi(const char *str, int str_len); #define Z_STRVAL(zval) (zval).value.str.val #define Z_STRLEN(zval) (zval).value.str.len #define Z_ARRVAL(zval) (zval).value.ht +#define Z_OBJ(zval) &(zval).value.obj #define Z_OBJPROP(zval) (zval).value.obj.properties #define Z_OBJCE(zval) (zval).value.obj.ce #define Z_RESVAL(zval) (zval).value.lval @@ -226,6 +227,7 @@ ZEND_API int zend_atoi(const char *str, int str_len); #define Z_STRVAL_P(zval_p) Z_STRVAL(*zval_p) #define Z_STRLEN_P(zval_p) Z_STRLEN(*zval_p) #define Z_ARRVAL_P(zval_p) Z_ARRVAL(*zval_p) +#define Z_OBJ_P(zval_p) Z_OBJ(*zval_p) #define Z_OBJPROP_P(zval_p) Z_OBJPROP(*zval_p) #define Z_OBJCE_P(zval_p) Z_OBJCE(*zval_p) #define Z_RESVAL_P(zval_p) Z_RESVAL(*zval_p) @@ -236,6 +238,7 @@ ZEND_API int zend_atoi(const char *str, int str_len); #define Z_STRVAL_PP(zval_pp) Z_STRVAL(**zval_pp) #define Z_STRLEN_PP(zval_pp) Z_STRLEN(**zval_pp) #define Z_ARRVAL_PP(zval_pp) Z_ARRVAL(**zval_pp) +#define Z_OBJ_PP(zval_pp) Z_OBJ(**zval_pp) #define Z_OBJPROP_PP(zval_pp) Z_OBJPROP(**zval_pp) #define Z_OBJCE_PP(zval_pp) Z_OBJCE(**zval_pp) #define Z_RESVAL_PP(zval_pp) Z_RESVAL(**zval_pp)