summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/soap/php_soap.h12
-rw-r--r--ext/soap/soap.c15
2 files changed, 18 insertions, 9 deletions
diff --git a/ext/soap/php_soap.h b/ext/soap/php_soap.h
index b6aa15df9e..2af5389db6 100644
--- a/ext/soap/php_soap.h
+++ b/ext/soap/php_soap.h
@@ -277,7 +277,9 @@ xmlNodePtr seralize_zval(zval *val, sdlParamPtr param, char *paramName, int styl
zval *desearlize_zval(sdlPtr sdl, xmlNodePtr data, sdlParamPtr param);
void soap_error_handler(int error_num, const char *error_filename, const uint error_lineno, const char *format, va_list args);
+#ifndef ZEND_ENGINE_2
int my_call_user_function(HashTable *function_table, zval **object_pp, zval *function_name, zval *retval_ptr, int param_count, zval *params[] TSRMLS_DC);
+#endif
#define phpext_soap_ptr soap_module_ptr
@@ -348,7 +350,7 @@ int my_call_user_function(HashTable *function_table, zval **object_pp, zval *fun
ss = *__tmp; \
}
-#define FIND_PORT_PROPERTY(ss,tmp) zend_hash_find(ss->value.obj.properties, "port", sizeof("port"), (void **)&tmp)
+#define FIND_PORT_PROPERTY(ss,tmp) zend_hash_find(Z_OBJPROP_P(ss), "port", sizeof("port"), (void **)&tmp)
#define FETCH_THIS_SDL(ss) \
{ \
@@ -362,7 +364,7 @@ int my_call_user_function(HashTable *function_table, zval **object_pp, zval *fun
ss = NULL; \
}
-#define FIND_SDL_PROPERTY(ss,tmp) zend_hash_find(ss->value.obj.properties, "sdl", sizeof("sdl"), (void **)&tmp)
+#define FIND_SDL_PROPERTY(ss,tmp) zend_hash_find(Z_OBJPROP_P(ss), "sdl", sizeof("sdl"), (void **)&tmp)
#define FETCH_SDL_RES(ss,tmp) ss = (sdlPtr) zend_fetch_resource(tmp TSRMLS_CC, -1, "sdl", NULL, 1, le_sdl)
#define FETCH_THIS_SERVICE(ss) \
@@ -377,7 +379,7 @@ int my_call_user_function(HashTable *function_table, zval **object_pp, zval *fun
ss = NULL; \
}
-#define FIND_SERVICE_PROPERTY(ss,tmp) zend_hash_find(ss->value.obj.properties, "service", sizeof("service"), (void **)&tmp)
+#define FIND_SERVICE_PROPERTY(ss,tmp) zend_hash_find(Z_OBJPROP_P(ss), "service", sizeof("service"), (void **)&tmp)
#define FETCH_SERVICE_RES(ss,tmp) ss = (soapServicePtr) zend_fetch_resource(tmp TSRMLS_CC, -1, "service", NULL, 1, le_service)
#define FETCH_THIS_URL(ss) \
@@ -392,7 +394,7 @@ int my_call_user_function(HashTable *function_table, zval **object_pp, zval *fun
ss = NULL; \
}
-#define FIND_URL_PROPERTY(ss,tmp) zend_hash_find(ss->value.obj.properties, "httpurl", sizeof("httpurl"), (void **)&tmp)
+#define FIND_URL_PROPERTY(ss,tmp) zend_hash_find(Z_OBJPROP_P(ss), "httpurl", sizeof("httpurl"), (void **)&tmp)
#define FETCH_URL_RES(ss,tmp) ss = (php_url *) zend_fetch_resource(tmp TSRMLS_CC, -1, "httpurl", NULL, 1, le_url)
#define FETCH_THIS_SOCKET(ss) \
@@ -407,7 +409,7 @@ int my_call_user_function(HashTable *function_table, zval **object_pp, zval *fun
ss = NULL; \
}
-#define FIND_SOCKET_PROPERTY(ss,tmp) zend_hash_find(ss->value.obj.properties, "httpsocket", sizeof("httpsocket"), (void **)&tmp)
+#define FIND_SOCKET_PROPERTY(ss,tmp) zend_hash_find(Z_OBJPROP_P(ss), "httpsocket", sizeof("httpsocket"), (void **)&tmp)
#define FETCH_SOCKET_RES(ss,tmp) ss = (SOAP_STREAM)zend_fetch_resource(tmp TSRMLS_CC, -1, "httpsocket", NULL, 1, le_http_socket)
#define GET_THIS_OBJECT(o) \
diff --git a/ext/soap/soap.c b/ext/soap/soap.c
index 3d48509251..01ee13eb08 100644
--- a/ext/soap/soap.c
+++ b/ext/soap/soap.c
@@ -995,7 +995,8 @@ PHP_FUNCTION(handle)
else
soap_obj = tmp_soap;
}
- function_table = &(soap_obj->value.obj.ce->function_table);
+/* function_table = &(soap_obj->value.obj.ce->function_table);*/
+ function_table = &((Z_OBJCE_P(soap_obj))->function_table);
}
else
{
@@ -1615,8 +1616,10 @@ void soap_call_function_handler(INTERNAL_FUNCTION_PARAMETERS, zend_property_refe
void clear_soap_fault(zval *obj)
{
- if(obj != NULL && obj->type == IS_OBJECT)
- zend_hash_del(obj->value.obj.properties, "__soap_fault", sizeof("__soap_fault"));
+ if(obj != NULL && obj->type == IS_OBJECT) {
+/* zend_hash_del(obj->value.obj.properties, "__soap_fault", sizeof("__soap_fault"));*/
+ zend_hash_del(Z_OBJPROP_P(obj), "__soap_fault", sizeof("__soap_fault"));
+ }
}
void add_soap_fault(zval *obj, char *fault_code, char *fault_string, char *fault_actor, zval *fault_detail TSRMLS_DC)
@@ -2242,6 +2245,7 @@ void delete_mapping(void *data)
}
/* Should not need */
+#ifndef ZEND_ENGINE_2
int my_call_user_function(HashTable *function_table, zval **object_pp, zval *function_name, zval *retval_ptr, int param_count, zval *params[] TSRMLS_DC)
{
if(call_user_function(function_table, object_pp, function_name, retval_ptr, param_count, params TSRMLS_CC) == FAILURE)
@@ -2287,4 +2291,7 @@ int my_call_user_function(HashTable *function_table, zval **object_pp, zval *fun
}
}
return FAILURE;
-} \ No newline at end of file
+}
+#endif
+
+