]> granicus.if.org Git - php/commitdiff
Remove Z_OBJ - it's internal to Zend objects, no generic function except
authorStanislav Malyshev <stas@php.net>
Sun, 12 Jan 2003 14:38:54 +0000 (14:38 +0000)
committerStanislav Malyshev <stas@php.net>
Sun, 12 Jan 2003 14:38:54 +0000 (14:38 +0000)
those in zend_object_handlers.c should use it.
Add Z_OBJ_HANDLER macro for easy access to handlers

Zend/zend_operators.h

index 5e57ab60ed2049c43beebcf30d0fb285b15d13a7..8df40baf80fe9649c461708864273caa935e16cc 100644 (file)
@@ -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)