Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

fix compilation against php 5.1

  • Loading branch information...
commit d6b0f05e6e6453d794b8f6f30a37187523104bc8 1 parent acdbb2f
Dmitry Zenovich authored
227 php_runkit.h
View
@@ -26,7 +26,11 @@
#include "config.h"
#endif
-#include "php.h"
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+ #include "php.h"
+#pragma GCC diagnostic pop
+
#include "php_ini.h"
#include "ext/standard/info.h"
#include "ext/standard/php_string.h"
@@ -333,144 +337,91 @@ struct _php_runkit_sandbox_object {
} \
}
+inline static void PHP_RUNKIT_ADD_MAGIC_METHOD(zend_class_entry *ce, char *lcmname, int mname_len, zend_function *fe, const zend_function *orig_fe) {
+ if (!strncmp((lcmname), ZEND_CLONE_FUNC_NAME, (mname_len))) {
+ (ce)->clone = (fe); (fe)->common.fn_flags |= ZEND_ACC_CLONE;
+ } else if (!strncmp((lcmname), ZEND_CONSTRUCTOR_FUNC_NAME, (mname_len))) {
+ if (!(ce)->constructor || (ce)->constructor == (orig_fe)) {
+ (ce)->constructor = (fe); (fe)->common.fn_flags |= ZEND_ACC_CTOR;
+ }
+ } else if (!strncmp((lcmname), ZEND_DESTRUCTOR_FUNC_NAME, (mname_len))) {
+ (ce)->destructor = (fe); (fe)->common.fn_flags |= ZEND_ACC_DTOR;
+ } else if (!strncmp((lcmname), ZEND_GET_FUNC_NAME, (mname_len))) {
+ (ce)->__get = (fe);
+ } else if (!strncmp((lcmname), ZEND_SET_FUNC_NAME, (mname_len))) {
+ (ce)->__set = (fe);
+ } else if (!strncmp((lcmname), ZEND_CALL_FUNC_NAME, (mname_len))) {
+ (ce)->__call = (fe);
+ } else if (!strncmp((lcmname), ZEND_UNSET_FUNC_NAME, (mname_len))) {
+ (ce)->__unset = (fe);
+ } else if (!strncmp((lcmname), ZEND_ISSET_FUNC_NAME, (mname_len))) {
+ (ce)->__isset = (fe);
#if RUNKIT_ABOVE53
-# define PHP_RUNKIT_ADD_MAGIC_METHOD(ce, lcmname, mname_len, fe, orig_fe) { \
- if (!strncmp((lcmname), ZEND_CLONE_FUNC_NAME, (mname_len))) { \
- (ce)->clone = (fe); (fe)->common.fn_flags |= ZEND_ACC_CLONE; \
- } else if (!strncmp((lcmname), ZEND_CONSTRUCTOR_FUNC_NAME, (mname_len))) { \
- if (!(ce)->constructor || (ce)->constructor == (orig_fe)) { \
- (ce)->constructor = (fe); (fe)->common.fn_flags |= ZEND_ACC_CTOR; \
- } \
- } else if (!strncmp((lcmname), ZEND_DESTRUCTOR_FUNC_NAME, (mname_len))) { \
- (ce)->destructor = (fe); (fe)->common.fn_flags |= ZEND_ACC_DTOR; \
- } else if (!strncmp((lcmname), ZEND_GET_FUNC_NAME, (mname_len))) { \
- (ce)->__get = (fe); \
- } else if (!strncmp((lcmname), ZEND_SET_FUNC_NAME, (mname_len))) { \
- (ce)->__set = (fe); \
- } else if (!strncmp((lcmname), ZEND_CALL_FUNC_NAME, (mname_len))) { \
- (ce)->__call = (fe); \
- } else if (!strncmp((lcmname), ZEND_UNSET_FUNC_NAME, (mname_len))) { \
- (ce)->__unset = (fe); \
- } else if (!strncmp((lcmname), ZEND_ISSET_FUNC_NAME, (mname_len))) { \
- (ce)->__isset = (fe); \
- } else if (!strncmp((lcmname), ZEND_CALLSTATIC_FUNC_NAME, (mname_len))) { \
- (ce)->__callstatic = (fe); \
- } else if (!strncmp((lcmname), ZEND_TOSTRING_FUNC_NAME, (mname_len))) { \
- (ce)->__tostring = (fe); \
- } else if ((ce)->name_length == (mname_len)) { \
- char *lowercase_name = emalloc((ce)->name_length + 1); \
- zend_str_tolower_copy(lowercase_name, (ce)->name, (ce)->name_length); \
- if (!memcmp((lcmname), lowercase_name, (mname_len))) { \
- if (!(ce)->constructor || (ce)->constructor == (orig_fe)) { \
- (ce)->constructor = (fe); \
- (fe)->common.fn_flags |= ZEND_ACC_CTOR; \
- } \
- } \
- efree(lowercase_name); \
- } \
- }
-# define PHP_RUNKIT_DEL_MAGIC_METHOD(ce, fe) { \
- if ((ce)->constructor == (fe)) (ce)->constructor = NULL; \
- else if ((ce)->destructor == (fe)) (ce)->destructor = NULL; \
- else if ((ce)->__get == (fe)) (ce)->__get = NULL; \
- else if ((ce)->__set == (fe)) (ce)->__set = NULL; \
- else if ((ce)->__unset == (fe)) (ce)->__unset = NULL; \
- else if ((ce)->__isset == (fe)) (ce)->__isset = NULL; \
- else if ((ce)->__call == (fe)) (ce)->__call = NULL; \
- else if ((ce)->__callstatic == (fe)) (ce)->__callstatic = NULL; \
- else if ((ce)->__tostring == (fe)) (ce)->__tostring = NULL; \
- else if ((ce)->clone == (fe)) (ce)->clone = NULL; \
- }
-# define PHP_RUNKIT_INHERIT_MAGIC(ce, fe, orig_fe, is_constr) { \
- if ((ce)->__get == (orig_fe) && (ce)->parent->__get == (fe)) { \
- (ce)->__get = (ce)->parent->__get; \
- } else if ((ce)->__set == (orig_fe) && (ce)->parent->__set == (fe)) { \
- (ce)->__set = (ce)->parent->__set; \
- } else if ((ce)->__unset == (orig_fe) && (ce)->parent->__unset == (fe)) { \
- (ce)->__unset = (ce)->parent->__unset; \
- } else if ((ce)->__isset == (orig_fe) && (ce)->parent->__isset == (fe)) { \
- (ce)->__isset = (ce)->parent->__isset; \
- } else if ((ce)->__call == (orig_fe) && (ce)->parent->__call == (fe)) { \
- (ce)->__call = (ce)->parent->__call; \
- } else if ((ce)->__callstatic == (orig_fe) && (ce)->parent->__callstatic == (fe)) { \
- (ce)->__callstatic = (ce)->parent->__callstatic; \
- } else if ((ce)->__tostring == (orig_fe) && (ce)->parent->__tostring == (fe)) { \
- (ce)->__tostring = (ce)->parent->__tostring; \
- } else if ((ce)->clone == (orig_fe) && (ce)->parent->clone == (fe)) { \
- (ce)->clone = (ce)->parent->clone; \
- } else if ((ce)->destructor == (orig_fe) && (ce)->parent->destructor == (fe)) { \
- (ce)->destructor = (ce)->parent->destructor; \
- } else if ((ce)->constructor == (orig_fe) && (ce)->parent->constructor == (fe)) { \
- (ce)->constructor = (ce)->parent->constructor; \
- } \
- }
-#else
-# define PHP_RUNKIT_ADD_MAGIC_METHOD(ce, lcmname, mname_len, fe, orig_fe) { \
- if (!strncmp((lcmname), ZEND_CLONE_FUNC_NAME, (mname_len))) { \
- (ce)->clone = (fe); (fe)->common.fn_flags |= ZEND_ACC_CLONE; \
- } else if (!strncmp((lcmname), ZEND_CONSTRUCTOR_FUNC_NAME, (mname_len))) { \
- if (!(ce)->constructor || (ce)->constructor == (orig_fe)) { \
- (ce)->constructor = (fe); (fe)->common.fn_flags |= ZEND_ACC_CTOR; \
- } \
- } else if (!strncmp((lcmname), ZEND_DESTRUCTOR_FUNC_NAME, (mname_len))) { \
- (ce)->destructor = (fe); (fe)->common.fn_flags |= ZEND_ACC_DTOR; \
- } else if (!strncmp((lcmname), ZEND_GET_FUNC_NAME, (mname_len))) { \
- (ce)->__get = (fe); \
- } else if (!strncmp((lcmname), ZEND_SET_FUNC_NAME, (mname_len))) { \
- (ce)->__set = (fe); \
- } else if (!strncmp((lcmname), ZEND_CALL_FUNC_NAME, (mname_len))) { \
- (ce)->__call = (fe); \
- } else if (!strncmp((lcmname), ZEND_UNSET_FUNC_NAME, (mname_len))) { \
- (ce)->__unset = (fe); \
- } else if (!strncmp((lcmname), ZEND_ISSET_FUNC_NAME, (mname_len))) { \
- (ce)->__isset = (fe); \
- } else if (!strncmp((lcmname), ZEND_TOSTRING_FUNC_NAME, (mname_len))) { \
- (ce)->__tostring = (fe); \
- } else if ((ce)->name_length == (mname_len)) { \
- char *lowercase_name = emalloc((ce)->name_length + 1); \
- zend_str_tolower_copy(lowercase_name, (ce)->name, (ce)->name_length); \
- if (!memcmp((lcmname), lowercase_name, (mname_len))) { \
- if (!(ce)->constructor || (ce)->constructor == (orig_fe)) { \
- (ce)->constructor = (fe); \
- (fe)->common.fn_flags |= ZEND_ACC_CTOR; \
- } \
- } \
- efree(lowercase_name); \
- } \
- }
-# define PHP_RUNKIT_DEL_MAGIC_METHOD(ce, fe) { \
- if ((ce)->constructor == (fe)) (ce)->constructor = NULL; \
- else if ((ce)->destructor == (fe)) (ce)->destructor = NULL; \
- else if ((ce)->__get == (fe)) (ce)->__get = NULL; \
- else if ((ce)->__set == (fe)) (ce)->__set = NULL; \
- else if ((ce)->__unset == (fe)) (ce)->__unset = NULL; \
- else if ((ce)->__isset == (fe)) (ce)->__isset = NULL; \
- else if ((ce)->__call == (fe)) (ce)->__call = NULL; \
- else if ((ce)->__tostring == (fe)) (ce)->__tostring = NULL; \
- else if ((ce)->clone == (fe)) (ce)->clone = NULL; \
- }
-# define PHP_RUNKIT_INHERIT_MAGIC(ce, fe, orig_fe, is_constr) { \
- if ((ce)->__get == (orig_fe) && (ce)->parent->__get == (fe)) { \
- (ce)->__get = (ce)->parent->__get; \
- } else if ((ce)->__set == (orig_fe) && (ce)->parent->__set == (fe)) { \
- (ce)->__set = (ce)->parent->__set; \
- } else if ((ce)->__unset == (orig_fe) && (ce)->parent->__unset == (fe)) { \
- (ce)->__unset = (ce)->parent->__unset; \
- } else if ((ce)->__isset == (orig_fe) && (ce)->parent->__isset == (fe)) { \
- (ce)->__isset = (ce)->parent->__isset; \
- } else if ((ce)->__call == (orig_fe) && (ce)->parent->__call == (fe)) { \
- (ce)->__call = (ce)->parent->__call; \
- } else if ((ce)->__tostring == (orig_fe) && (ce)->parent->__tostring == (fe)) { \
- (ce)->__tostring = (ce)->parent->__tostring; \
- } else if ((ce)->clone == (orig_fe) && (ce)->parent->clone == (fe)) { \
- (ce)->clone = (ce)->parent->clone; \
- } else if ((ce)->destructor == (orig_fe) && (ce)->parent->destructor == (fe)) { \
- (ce)->destructor = (ce)->parent->destructor; \
- } else if ((ce)->constructor == (orig_fe) && (ce)->parent->constructor == (fe)) { \
- (ce)->constructor = (ce)->parent->constructor; \
- } \
- }
-# endif // RUNKIT_ABOVE53
+ } else if (!strncmp((lcmname), ZEND_CALLSTATIC_FUNC_NAME, (mname_len))) {
+ (ce)->__callstatic = (fe);
+#endif
+#if PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 2 || PHP_MAJOR_VERSION > 5
+ } else if (!strncmp((lcmname), ZEND_TOSTRING_FUNC_NAME, (mname_len))) {
+ (ce)->__tostring = (fe);
+#endif
+ } else if ((ce)->name_length == (mname_len)) {
+ char *lowercase_name = emalloc((ce)->name_length + 1);
+ zend_str_tolower_copy(lowercase_name, (ce)->name, (ce)->name_length);
+ if (!memcmp((lcmname), lowercase_name, (mname_len))) {
+ if (!(ce)->constructor || (ce)->constructor == (orig_fe)) {
+ (ce)->constructor = (fe);
+ (fe)->common.fn_flags |= ZEND_ACC_CTOR;
+ }
+ }
+ efree(lowercase_name);
+ }
+}
+
+inline static void PHP_RUNKIT_DEL_MAGIC_METHOD(zend_class_entry *ce, const zend_function *fe) {
+ if ((ce)->constructor == (fe)) (ce)->constructor = NULL;
+ else if ((ce)->destructor == (fe)) (ce)->destructor = NULL;
+ else if ((ce)->__get == (fe)) (ce)->__get = NULL;
+ else if ((ce)->__set == (fe)) (ce)->__set = NULL;
+ else if ((ce)->__unset == (fe)) (ce)->__unset = NULL;
+ else if ((ce)->__isset == (fe)) (ce)->__isset = NULL;
+ else if ((ce)->__call == (fe)) (ce)->__call = NULL;
+#if RUNKIT_ABOVE53
+ else if ((ce)->__callstatic == (fe)) (ce)->__callstatic = NULL;
+#endif
+#if PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 2 || PHP_MAJOR_VERSION > 5
+ else if ((ce)->__tostring == (fe)) (ce)->__tostring = NULL;
+#endif
+ else if ((ce)->clone == (fe)) (ce)->clone = NULL;
+}
+
+inline static void PHP_RUNKIT_INHERIT_MAGIC(zend_class_entry *ce, const zend_function *fe, const zend_function *orig_fe) {
+ if ((ce)->__get == (orig_fe) && (ce)->parent->__get == (fe)) {
+ (ce)->__get = (ce)->parent->__get;
+ } else if ((ce)->__set == (orig_fe) && (ce)->parent->__set == (fe)) {
+ (ce)->__set = (ce)->parent->__set;
+ } else if ((ce)->__unset == (orig_fe) && (ce)->parent->__unset == (fe)) {
+ (ce)->__unset = (ce)->parent->__unset;
+ } else if ((ce)->__isset == (orig_fe) && (ce)->parent->__isset == (fe)) {
+ (ce)->__isset = (ce)->parent->__isset;
+ } else if ((ce)->__call == (orig_fe) && (ce)->parent->__call == (fe)) {
+ (ce)->__call = (ce)->parent->__call;
+#if RUNKIT_ABOVE53
+ } else if ((ce)->__callstatic == (orig_fe) && (ce)->parent->__callstatic == (fe)) {
+ (ce)->__callstatic = (ce)->parent->__callstatic;
+#endif
+#if PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 2 || PHP_MAJOR_VERSION > 5
+ } else if ((ce)->__tostring == (orig_fe) && (ce)->parent->__tostring == (fe)) {
+ (ce)->__tostring = (ce)->parent->__tostring;
+#endif
+ } else if ((ce)->clone == (orig_fe) && (ce)->parent->clone == (fe)) {
+ (ce)->clone = (ce)->parent->clone;
+ } else if ((ce)->destructor == (orig_fe) && (ce)->parent->destructor == (fe)) {
+ (ce)->destructor = (ce)->parent->destructor;
+ } else if ((ce)->constructor == (orig_fe) && (ce)->parent->constructor == (fe)) {
+ (ce)->constructor = (ce)->parent->constructor;
+ }
+}
+
# define PHP_RUNKIT_DESTROY_FUNCTION(fe) destroy_zend_function(fe TSRMLS_CC);
# if (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 4) || (PHP_MAJOR_VERSION > 5)
2  runkit.c
View
@@ -184,7 +184,9 @@ static inline void _php_runkit_init_stub_function(char *name, void (*handler)(IN
#if PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION < 4
(*result)->internal_function.return_reference = 0;
#endif
+#if PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 2 || PHP_MAJOR_VERSION > 5
(*result)->internal_function.module = &runkit_module_entry;
+#endif
}
#endif
4 runkit_functions.c
View
@@ -394,7 +394,9 @@ void php_runkit_remove_function_from_reflection_objects(zend_function *fe TSRMLS
zend_function *f = emalloc(sizeof(zend_function));
memcpy(f, RUNKIT_G(removed_method), sizeof(zend_function));
f->common.scope = fe->common.scope;
+#ifdef ZEND_ACC_CALL_VIA_HANDLER
f->internal_function.fn_flags |= ZEND_ACC_CALL_VIA_HANDLER; // This is a trigger to free it from destructor
+#endif
#if RUNKIT_ABOVE53
f->internal_function.function_name = estrdup(f->internal_function.function_name);
#endif
@@ -511,7 +513,7 @@ PHP_FUNCTION(runkit_function_add)
PHP_RUNKIT_DECL_STRING_PARAM(arglist)
PHP_RUNKIT_DECL_STRING_PARAM(code)
zend_bool return_ref = 0;
- char *delta = NULL, *delta_desc;
+ char *delta = NULL, *delta_desc = NULL;
int retval;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
12 runkit_import.c
View
@@ -222,7 +222,11 @@ static int php_runkit_import_class_consts(zend_class_entry *dce, zend_class_entr
|| (Z_TYPE_PP(c) & IS_CONSTANT_TYPE_MASK) == IS_CONSTANT
#endif
) {
+#if PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 2 || PHP_MAJOR_VERSION > 5
zval_update_constant_ex(c, (void*) 1, dce TSRMLS_CC);
+#else
+ zval_update_constant(c, dce TSRMLS_CC);
+#endif
}
Z_ADDREF_P(*c);
if (zend_hash_add_or_update(&dce->constants_table, key, key_len, (void*)c, sizeof(zval*), NULL, action) == FAILURE) {
@@ -269,7 +273,11 @@ static int php_runkit_import_class_static_props(zend_class_entry *dce, zend_clas
|| (Z_TYPE_PP(pp) & IS_CONSTANT_TYPE_MASK) == IS_CONSTANT
#endif // RUNKIT_ABOVE53
) {
+#if PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 2 || PHP_MAJOR_VERSION > 5
zval_update_constant_ex(pp, (void*) 1, dce TSRMLS_CC);
+#else
+ zval_update_constant(pp, dce TSRMLS_CC);
+#endif
}
#endif // (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 4) || (PHP_MAJOR_VERSION > 5)
if (zend_hash_find(&dce->properties_info, key, key_len, (void*) &ex_property_info_ptr) == SUCCESS && ex_property_info_ptr) {
@@ -351,7 +359,11 @@ static int php_runkit_import_class_props(zend_class_entry *dce, zend_class_entry
|| (Z_TYPE_PP(p) & IS_CONSTANT_TYPE_MASK) == IS_CONSTANT
#endif // RUNKIT_ABOVE53
) {
+#if PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 2 || PHP_MAJOR_VERSION > 5
zval_update_constant_ex(p, (void*) 1, dce TSRMLS_CC);
+#else
+ zval_update_constant(p, dce TSRMLS_CC);
+#endif
}
php_runkit_def_prop_add_int(dce, key, key_len - 1, *p,
2  runkit_methods.c
View
@@ -243,7 +243,7 @@ int php_runkit_update_children_methods(RUNKIT_53_TSRMLS_ARG(zend_class_entry *ce
return ZEND_HASH_APPLY_KEEP;
}
PHP_RUNKIT_FUNCTION_ADD_REF(fe);
- PHP_RUNKIT_INHERIT_MAGIC(ce, fe, orig_fe, is_constr);
+ PHP_RUNKIT_INHERIT_MAGIC(ce, fe, orig_fe);
/* Process children of this child */
zend_hash_apply_with_arguments(RUNKIT_53_TSRMLS_PARAM(EG(class_table)), (apply_func_args_t)php_runkit_update_children_methods, 6,
13 runkit_props.c
View
@@ -313,8 +313,9 @@ int php_runkit_def_prop_add_int(zend_class_entry *ce, const char *propname, int
memcpy(&new_prop_info, prop_info_ptr, sizeof(zend_property_info));
new_prop_info.name = newkey;
new_prop_info.name_length = newkey_len;
+#if (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 2) || (PHP_MAJOR_VERSION > 5)
new_prop_info.ce = definer_class;
-
+#endif
#if (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 4) || (PHP_MAJOR_VERSION > 5)
interned_name = zend_new_interned_string(new_prop_info.name, new_prop_info.name_length+1, 0 TSRMLS_CC);
if (interned_name != new_prop_info.name) {
@@ -330,7 +331,9 @@ int php_runkit_def_prop_add_int(zend_class_entry *ce, const char *propname, int
pefree((void*)oldkey, ce->type & ZEND_INTERNAL_CLASS);
zend_hash_quick_find(&ce->properties_info, (char *) propname, propname_len + 1, h, (void*) &prop_info_ptr);
}
+#if (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 2) || (PHP_MAJOR_VERSION > 5)
prop_info_ptr->ce = definer_class;
+#endif
}
zend_hash_apply_with_arguments(RUNKIT_53_TSRMLS_PARAM(EG(class_table)),
(apply_func_args_t)php_runkit_update_children_def_props, 8, ce, copyval,
@@ -501,7 +504,11 @@ static int php_runkit_def_prop_add(char *classname, int classname_len, char *pro
|| (Z_TYPE_P(copyval) & IS_CONSTANT_TYPE_MASK) == IS_CONSTANT
# endif
) {
+#if (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 2) || (PHP_MAJOR_VERSION > 5)
zval_update_constant_ex(&copyval, (void*) 1, ce TSRMLS_CC);
+#else
+ zval_update_constant(&copyval, ce TSRMLS_CC);
+#endif
}
if (php_runkit_def_prop_add_int(ce, propname, propname_len, copyval, visibility, NULL, 0, ce, 0,
@@ -554,9 +561,11 @@ int php_runkit_def_prop_remove_int(zend_class_entry *ce, const char *propname, i
h = zend_get_hash_value((char *) propname, propname_len + 1);
if (zend_hash_quick_find(&ce->properties_info, (char *) propname, propname_len + 1, h, (void*)&property_info_ptr) == SUCCESS) {
+#if (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 2) || (PHP_MAJOR_VERSION > 5)
if (class_we_originally_removing_from == NULL) {
class_we_originally_removing_from = property_info_ptr->ce;
}
+#endif
#if (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 4) || (PHP_MAJOR_VERSION > 5)
if (parent_property &&
((parent_property->offset >= 0 && parent_property->offset != property_info_ptr->offset) ||
@@ -567,9 +576,11 @@ int php_runkit_def_prop_remove_int(zend_class_entry *ce, const char *propname, i
}
#endif // PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION < 4
+#if (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 2) || (PHP_MAJOR_VERSION > 5)
if (class_we_originally_removing_from != property_info_ptr->ce) {
return SUCCESS;
}
+#endif
if (property_info_ptr->flags & ZEND_ACC_STATIC) {
was_static = 1;
Please sign in to comment.
Something went wrong with that request. Please try again.