From d27b3d3ad9d1325b9fa3913e961a3f718712c126 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Sun, 12 Jan 2003 14:38:54 +0000 Subject: [PATCH] Remove Z_OBJ - it's internal to Zend objects, no generic function except those in zend_object_handlers.c should use it. Add Z_OBJ_HANDLER macro for easy access to handlers --- Zend/zend_operators.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Zend/zend_operators.h b/Zend/zend_operators.h index 5e57ab60ed..8df40baf80 100644 --- a/Zend/zend_operators.h +++ b/Zend/zend_operators.h @@ -238,9 +238,10 @@ ZEND_API void zend_locale_sprintf_double(zval *op ZEND_FILE_LINE_DC); #define Z_ARRVAL(zval) (zval).value.ht #define Z_OBJ_HANDLE(zval) (zval).value.obj.handle #define Z_OBJ_HT(zval) (zval).value.obj.handlers -#define Z_OBJ(zval) zend_objects_get_address(&(zval)) #define Z_OBJCE(zval) zend_get_class_entry(&(zval)) #define Z_OBJPROP(zval) Z_OBJ_HT((zval))->get_properties(&(zval) TSRMLS_CC) +#define Z_OBJ_HANDLER(zval, hf) \ + Z_OBJ_HT((zval))->hf #define Z_RESVAL(zval) (zval).value.lval #define Z_LVAL_P(zval_p) Z_LVAL(*zval_p) @@ -249,12 +250,12 @@ ZEND_API void zend_locale_sprintf_double(zval *op ZEND_FILE_LINE_DC); #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) #define Z_OBJ_HANDLE_P(zval_p) Z_OBJ_HANDLE(*zval_p) #define Z_OBJ_HT_P(zval_p) Z_OBJ_HT(*zval_p) +#define Z_OBJ_HANDLER_P(zval_p, h) Z_OBJ_HANDLER(*zval_p, h) #define Z_LVAL_PP(zval_pp) Z_LVAL(**zval_pp) #define Z_BVAL_PP(zval_pp) Z_BVAL(**zval_pp) @@ -262,12 +263,12 @@ ZEND_API void zend_locale_sprintf_double(zval *op ZEND_FILE_LINE_DC); #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) #define Z_OBJ_HANDLE_PP(zval_p) Z_OBJ_HANDLE(**zval_p) #define Z_OBJ_HT_PP(zval_p) Z_OBJ_HT(**zval_p) +#define Z_OBJ_HANDLER_PP(zval_p, h) Z_OBJ_HANDLER(**zval_p, h) #define Z_TYPE(zval) (zval).type #define Z_TYPE_P(zval_p) Z_TYPE(*zval_p) -- 2.40.0