From b40db64d0d32eda78212b1de902ce3238abda2c2 Mon Sep 17 00:00:00 2001 From: Andi Gutmans Date: Sat, 28 Jul 2001 18:33:06 +0000 Subject: [PATCH] - 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. --- Zend/zend.h | 10 ++++++---- Zend/zend_operators.h | 3 +++ 2 files changed, 9 insertions(+), 4 deletions(-) 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) -- 2.50.1