summaryrefslogtreecommitdiff
path: root/Zend/zend_variables.h
diff options
context:
space:
mode:
authorZeev Suraski <zeev@php.net>1999-08-27 19:17:19 +0000
committerZeev Suraski <zeev@php.net>1999-08-27 19:17:19 +0000
commitaa8b27ba1d6867e367416a02a6c47489dc3bbc76 (patch)
treeeab8f5b7198cc956f0e8ae966506e9a0f2a3b6e1 /Zend/zend_variables.h
parent9eea00c086d4d2c5e65b4b557f2cfb699a81d243 (diff)
downloadphp-git-aa8b27ba1d6867e367416a02a6c47489dc3bbc76.tar.gz
Better debug macros
Diffstat (limited to 'Zend/zend_variables.h')
-rw-r--r--Zend/zend_variables.h30
1 files changed, 24 insertions, 6 deletions
diff --git a/Zend/zend_variables.h b/Zend/zend_variables.h
index 7d3ad6fcc7..cf1e83c4a9 100644
--- a/Zend/zend_variables.h
+++ b/Zend/zend_variables.h
@@ -25,16 +25,34 @@
ZEND_API int zend_print_variable(zval *var);
BEGIN_EXTERN_C()
-ZEND_API int zval_copy_ctor(zval *zvalue);
-ZEND_API int zval_dtor(zval *zvalue);
+ZEND_API int _zval_copy_ctor(zval *zvalue ZEND_FILE_LINE_DC);
+ZEND_API int _zval_dtor(zval *zvalue ZEND_FILE_LINE_DC);
+ZEND_API int _zval_ptr_dtor(zval **zval_ptr ZEND_FILE_LINE_DC);
+#define zval_copy_ctor(zvalue) _zval_copy_ctor((zvalue) ZEND_FILE_LINE_CC)
+#define zval_dtor(zvalue) _zval_dtor((zvalue) ZEND_FILE_LINE_CC)
+#define zval_ptr_dtor(zval_ptr) _zval_ptr_dtor((zval_ptr) ZEND_FILE_LINE_CC)
+
+#ifdef ZEND_DEBUG
+ZEND_API int _zval_copy_ctor_wrapper(zval *zvalue);
+ZEND_API int _zval_dtor_wrapper(zval *zvalue);
+ZEND_API int _zval_ptr_dtor_wrapper(zval **zval_ptr);
+#define zval_copy_ctor_wrapper _zval_copy_ctor_wrapper
+#define zval_dtor_wrapper _zval_dtor_wrapper
+#define zval_ptr_dtor_wrapper _zval_ptr_dtor_wrapper
+#else
+#define zval_copy_ctor_wrapper _zval_copy_ctor
+#define zval_dtor_wrapper _zval_dtor
+#define zval_ptr_dtor_wrapper _zval_ptr_dtor
+#endif
+
END_EXTERN_C()
-ZEND_API int zval_ptr_dtor(zval **zval_ptr);
+
void zval_add_ref(zval **p);
-#define PVAL_DESTRUCTOR (int (*)(void *)) zval_dtor
-#define PVAL_PTR_DTOR (int (*)(void *)) zval_ptr_dtor
-#define PVAL_COPY_CTOR (void (*)(void *)) zval_copy_ctor
+#define PVAL_DESTRUCTOR (int (*)(void *)) zval_dtor_wrapper
+#define PVAL_PTR_DTOR (int (*)(void *)) zval_ptr_dtor_wrapper
+#define PVAL_COPY_CTOR (void (*)(void *)) zval_copy_ctor_wrapper
ZEND_API void var_reset(zval *var);
ZEND_API void var_uninit(zval *var);