summaryrefslogtreecommitdiff
path: root/Zend/zend_variables.h
diff options
context:
space:
mode:
authorAndi Gutmans <andi@php.net>2004-09-26 20:03:54 +0000
committerAndi Gutmans <andi@php.net>2004-09-26 20:03:54 +0000
commitf17aa81edc3aac9b80607bbaecc3c006dd52b4ae (patch)
treebcef73662f0cb9d5e58ef76283d8107c7e1d54d5 /Zend/zend_variables.h
parentd5bac133ee87aac7f5a09a33aa1b409b52a42657 (diff)
downloadphp-git-f17aa81edc3aac9b80607bbaecc3c006dd52b4ae.tar.gz
- Apply Thies and Sterling's patch which doesn't call ctor/dtor functions
- for types which don't require it (BOOL/NULL/LONG/DOUBLE) - Breaks serialization!!!
Diffstat (limited to 'Zend/zend_variables.h')
-rw-r--r--Zend/zend_variables.h25
1 files changed, 22 insertions, 3 deletions
diff --git a/Zend/zend_variables.h b/Zend/zend_variables.h
index 10939b932f..8cdf76e639 100644
--- a/Zend/zend_variables.h
+++ b/Zend/zend_variables.h
@@ -23,11 +23,30 @@
#define ZEND_VARIABLES_H
-
BEGIN_EXTERN_C()
+
+ZEND_API void _zval_dtor_func(zval *zvalue ZEND_FILE_LINE_DC);
+
+static inline void _zval_dtor(zval *zvalue ZEND_FILE_LINE_DC)
+{
+ if (zvalue->type <= IS_BOOL) {
+ return;
+ }
+ _zval_dtor_func(zvalue ZEND_FILE_LINE_CC);
+}
+
+ZEND_API int _zval_copy_ctor_func(zval *zvalue ZEND_FILE_LINE_DC);
+
+static inline int _zval_copy_ctor(zval *zvalue ZEND_FILE_LINE_DC)
+{
+ if (zvalue->type <= IS_BOOL) {
+ return;
+ }
+ _zval_copy_ctor_func(zvalue ZEND_FILE_LINE_CC);
+}
+
+
ZEND_API int zend_print_variable(zval *var);
-ZEND_API int _zval_copy_ctor(zval *zvalue ZEND_FILE_LINE_DC);
-ZEND_API void _zval_dtor(zval *zvalue ZEND_FILE_LINE_DC);
ZEND_API void _zval_ptr_dtor(zval **zval_ptr ZEND_FILE_LINE_DC);
ZEND_API void _zval_internal_dtor(zval *zvalue ZEND_FILE_LINE_DC);
ZEND_API void _zval_internal_ptr_dtor(zval **zvalue ZEND_FILE_LINE_DC);