summaryrefslogtreecommitdiff
path: root/Zend/zend_API.h
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2005-07-07 16:07:09 +0000
committerDmitry Stogov <dmitry@php.net>2005-07-07 16:07:09 +0000
commit345e0255b5af2d81215c33e107f12df2b3724a92 (patch)
tree274fcc3df1c817ba5cff045abcdd13be68ae087b /Zend/zend_API.h
parent307f6228175da3f68c0d1957de3e86c9132b1e61 (diff)
downloadphp-git-345e0255b5af2d81215c33e107f12df2b3724a92.tar.gz
Fixed bug #33512 (Add missing support for isset()/unset() overloading to complement the property get/set methods)
Diffstat (limited to 'Zend/zend_API.h')
-rw-r--r--Zend/zend_API.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/Zend/zend_API.h b/Zend/zend_API.h
index 33f8eeb870..d8833a237c 100644
--- a/Zend/zend_API.h
+++ b/Zend/zend_API.h
@@ -118,7 +118,7 @@ typedef struct _zend_function_entry {
#define INIT_CLASS_ENTRY(class_container, class_name, functions) INIT_OVERLOADED_CLASS_ENTRY(class_container, class_name, functions, NULL, NULL, NULL)
-#define INIT_OVERLOADED_CLASS_ENTRY(class_container, class_name, functions, handle_fcall, handle_propget, handle_propset) \
+#define INIT_OVERLOADED_CLASS_ENTRY_EX(class_container, class_name, functions, handle_fcall, handle_propget, handle_propset, handle_propunset, handle_propisset) \
{ \
class_container.name = strdup(class_name); \
class_container.name_length = sizeof(class_name) - 1; \
@@ -131,6 +131,8 @@ typedef struct _zend_function_entry {
class_container.__call = handle_fcall; \
class_container.__get = handle_propget; \
class_container.__set = handle_propset; \
+ class_container.__unset = handle_propunset; \
+ class_container.__isset = handle_propisset; \
class_container.serialize = NULL; \
class_container.unserialize = NULL; \
class_container.parent = NULL; \
@@ -141,6 +143,9 @@ typedef struct _zend_function_entry {
class_container.module = NULL; \
}
+#define INIT_OVERLOADED_CLASS_ENTRY(class_container, class_name, functions, handle_fcall, handle_propget, handle_propset) \
+ INIT_OVERLOADED_CLASS_ENTRY_EX(class_container, class_name, functions, handle_fcall, handle_propget, handle_propset, NULL, NULL)
+
int zend_next_free_module(void);
BEGIN_EXTERN_C()