mirror of
https://github.com/php/php-src.git
synced 2024-12-15 12:54:57 +08:00
Removed deprecated #ifdef ZEND_ENGINE_2
This commit is contained in:
parent
83f54a2592
commit
1dcb726c5a
@ -1096,9 +1096,7 @@ static void set_zval_property(zval* object, char* name, zval* val TSRMLS_DC)
|
||||
|
||||
old_scope = EG(scope);
|
||||
EG(scope) = Z_OBJCE_P(object);
|
||||
#ifdef ZEND_ENGINE_2
|
||||
val->refcount--;
|
||||
#endif
|
||||
add_property_zval(object, name, val);
|
||||
EG(scope) = old_scope;
|
||||
}
|
||||
@ -2666,24 +2664,18 @@ static zval *guess_zval_convert(encodeTypePtr type, xmlNodePtr data)
|
||||
MAKE_STD_ZVAL(soapvar);
|
||||
object_init_ex(soapvar, soap_var_class_entry);
|
||||
add_property_long(soapvar, "enc_type", enc->details.type);
|
||||
#ifdef ZEND_ENGINE_2
|
||||
ret->refcount--;
|
||||
#endif
|
||||
add_property_zval(soapvar, "enc_value", ret);
|
||||
parse_namespace(type_name, &cptype, &ns);
|
||||
nsptr = xmlSearchNs(data->doc, data, BAD_CAST(ns));
|
||||
MAKE_STD_ZVAL(tmp);
|
||||
ZVAL_STRING(tmp, cptype, 1);
|
||||
#ifdef ZEND_ENGINE_2
|
||||
tmp->refcount--;
|
||||
#endif
|
||||
add_property_zval(soapvar, "enc_stype", tmp);
|
||||
if (nsptr) {
|
||||
MAKE_STD_ZVAL(tmp);
|
||||
ZVAL_STRING(tmp, (char*)nsptr->href, 1);
|
||||
#ifdef ZEND_ENGINE_2
|
||||
tmp->refcount--;
|
||||
#endif
|
||||
add_property_zval(soapvar, "enc_ns", tmp);
|
||||
}
|
||||
efree(cptype);
|
||||
|
@ -254,11 +254,9 @@ int parse_packet_soap(zval *this_ptr, char *buffer, int buffer_size, sdlFunction
|
||||
if (faultactor) {
|
||||
efree(faultactor);
|
||||
}
|
||||
#ifdef ZEND_ENGINE_2
|
||||
if (details) {
|
||||
details->refcount--;
|
||||
}
|
||||
#endif
|
||||
xmlFreeDoc(response);
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -166,32 +166,6 @@ xmlDocPtr soap_xmlParseMemory(const void *buf, size_t buf_size)
|
||||
return ret;
|
||||
}
|
||||
|
||||
#ifndef ZEND_ENGINE_2
|
||||
int php_stream_xmlIO_match_wrapper(const char *filename)
|
||||
{
|
||||
TSRMLS_FETCH();
|
||||
return php_stream_locate_url_wrapper(filename, NULL, STREAM_LOCATE_WRAPPERS_ONLY TSRMLS_CC) ? 1 : 0;
|
||||
}
|
||||
|
||||
void *php_stream_xmlIO_open_wrapper(const char *filename)
|
||||
{
|
||||
TSRMLS_FETCH();
|
||||
return php_stream_open_wrapper((char*)filename, "rb", REPORT_ERRORS, NULL);
|
||||
}
|
||||
|
||||
int php_stream_xmlIO_read(void *context, char *buffer, int len)
|
||||
{
|
||||
TSRMLS_FETCH();
|
||||
return php_stream_read((php_stream*)context, buffer, len);
|
||||
}
|
||||
|
||||
int php_stream_xmlIO_close(void *context)
|
||||
{
|
||||
TSRMLS_FETCH();
|
||||
return php_stream_close((php_stream*)context);
|
||||
}
|
||||
#endif
|
||||
|
||||
xmlNsPtr attr_find_ns(xmlAttrPtr node)
|
||||
{
|
||||
if (node->ns) {
|
||||
|
@ -44,13 +44,6 @@ xmlNodePtr get_node_with_attribute_ex(xmlNodePtr node, char *name, char *name_ns
|
||||
xmlNodePtr get_node_with_attribute_recursive_ex(xmlNodePtr node, char *name, char *name_ns, char *attribute, char *value, char *attr_ns);
|
||||
int parse_namespace(const xmlChar *inval,char **value,char **namespace);
|
||||
|
||||
#ifndef ZEND_ENGINE_2
|
||||
int php_stream_xmlIO_match_wrapper(const char *filename);
|
||||
void *php_stream_xmlIO_open_wrapper(const char *filename);
|
||||
int php_stream_xmlIO_read(void *context, char *buffer, int len);
|
||||
int php_stream_xmlIO_close(void *context);
|
||||
#endif
|
||||
|
||||
#define FOREACHATTRNODE(n,c,i) FOREACHATTRNODEEX(n,c,NULL,i)
|
||||
#define FOREACHATTRNODEEX(n,c,ns,i) \
|
||||
do { \
|
||||
|
169
ext/soap/soap.c
169
ext/soap/soap.c
@ -26,9 +26,7 @@
|
||||
#if HAVE_PHP_SESSION && !defined(COMPILE_DL_SESSION)
|
||||
#include "ext/session/php_session.h"
|
||||
#endif
|
||||
#ifdef ZEND_ENGINE_2
|
||||
# include "zend_exceptions.h"
|
||||
#endif
|
||||
#include "zend_exceptions.h"
|
||||
|
||||
static int le_sdl = 0;
|
||||
int le_url = 0;
|
||||
@ -67,10 +65,6 @@ static xmlNodePtr serialize_zval(zval *val, sdlParamPtr param, char *paramName,
|
||||
static void delete_service(void *service);
|
||||
static void delete_url(void *handle);
|
||||
|
||||
#ifndef ZEND_ENGINE_2
|
||||
static void soap_call_function_handler(INTERNAL_FUNCTION_PARAMETERS, zend_property_reference *property_reference);
|
||||
#endif
|
||||
|
||||
static void soap_error_handler(int error_num, const char *error_filename, const uint error_lineno, const char *format, va_list args);
|
||||
|
||||
#define SOAP_SERVER_BEGIN_CODE() \
|
||||
@ -88,7 +82,6 @@ static void soap_error_handler(int error_num, const char *error_filename, const
|
||||
SOAP_GLOBAL(error_object) = _old_error_object;\
|
||||
SOAP_GLOBAL(soap_version) = _old_soap_version;
|
||||
|
||||
#ifdef ZEND_ENGINE_2
|
||||
#define SOAP_CLIENT_BEGIN_CODE() \
|
||||
zend_bool _old_handler = SOAP_GLOBAL(use_soap_error_handler);\
|
||||
char* _old_error_code = SOAP_GLOBAL(error_code);\
|
||||
@ -121,22 +114,6 @@ static void soap_error_handler(int error_num, const char *error_filename, const
|
||||
if (_bailout) {\
|
||||
zend_bailout();\
|
||||
}
|
||||
#else
|
||||
#define SOAP_CLIENT_BEGIN_CODE() \
|
||||
zend_bool _old_handler = SOAP_GLOBAL(use_soap_error_handler);\
|
||||
char* _old_error_code = SOAP_GLOBAL(error_code);\
|
||||
zval* _old_error_object = SOAP_GLOBAL(error_object);\
|
||||
int _old_soap_version = SOAP_GLOBAL(soap_version);\
|
||||
SOAP_GLOBAL(use_soap_error_handler) = 1;\
|
||||
SOAP_GLOBAL(error_code) = "Client";\
|
||||
SOAP_GLOBAL(error_object) = this_ptr;
|
||||
|
||||
#define SOAP_CLIENT_END_CODE() \
|
||||
SOAP_GLOBAL(use_soap_error_handler) = _old_handler;\
|
||||
SOAP_GLOBAL(error_code) = _old_error_code;\
|
||||
SOAP_GLOBAL(error_object) = _old_error_object;\
|
||||
SOAP_GLOBAL(soap_version) = _old_soap_version;
|
||||
#endif
|
||||
|
||||
#define HTTP_RAW_POST_DATA "HTTP_RAW_POST_DATA"
|
||||
|
||||
@ -205,27 +182,6 @@ PHP_MINIT_FUNCTION(soap);
|
||||
PHP_MSHUTDOWN_FUNCTION(soap);
|
||||
PHP_MINFO_FUNCTION(soap);
|
||||
|
||||
#ifndef ZEND_ENGINE_2
|
||||
# ifndef PHP_METHOD
|
||||
# define PHP_METHOD(classname, name) ZEND_NAMED_FUNCTION(ZEND_FN(classname##_##name))
|
||||
# define PHP_ME(classname, name, arg_info, flags) ZEND_NAMED_FE(name, ZEND_FN(classname##_##name), arg_info)
|
||||
# endif
|
||||
|
||||
static char *zend_str_tolower_copy(char *dest, const char *source, unsigned int length)
|
||||
{
|
||||
register unsigned char *str = (unsigned char*)source;
|
||||
register unsigned char *result = (unsigned char*)dest;
|
||||
register unsigned char *end = str + length;
|
||||
|
||||
while (str < end) {
|
||||
*result++ = tolower((int)*str++);
|
||||
}
|
||||
*result = *end;
|
||||
|
||||
return dest;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
Registry Functions
|
||||
TODO: this!
|
||||
@ -268,9 +224,7 @@ PHP_METHOD(SoapVar, SoapVar);
|
||||
|
||||
/* SoapFault Functions */
|
||||
PHP_METHOD(SoapFault, SoapFault);
|
||||
#ifdef ZEND_ENGINE_2
|
||||
PHP_METHOD(SoapFault, __toString);
|
||||
#endif
|
||||
|
||||
/* SoapParam Functions */
|
||||
PHP_METHOD(SoapParam, SoapParam);
|
||||
@ -278,11 +232,7 @@ PHP_METHOD(SoapParam, SoapParam);
|
||||
/* SoapHeader Functions */
|
||||
PHP_METHOD(SoapHeader, SoapHeader);
|
||||
|
||||
#ifdef ZEND_ENGINE_2
|
||||
#define SOAP_CTOR(class_name, func_name, arginfo, flags) ZEND_FENTRY(__construct, ZEND_MN(class_name##_##func_name), arginfo, flags)
|
||||
#else
|
||||
#define SOAP_CTOR(class_name, func_name, arginfo, flags) PHP_ME(class_name, func_name, arginfo, flags)
|
||||
#endif
|
||||
|
||||
static zend_function_entry soap_functions[] = {
|
||||
#ifdef HAVE_PHP_DOMXML
|
||||
@ -296,9 +246,7 @@ static zend_function_entry soap_functions[] = {
|
||||
|
||||
static zend_function_entry soap_fault_functions[] = {
|
||||
SOAP_CTOR(SoapFault, SoapFault, NULL, 0)
|
||||
#ifdef ZEND_ENGINE_2
|
||||
PHP_ME(SoapFault, __toString, NULL, 0)
|
||||
#endif
|
||||
{NULL, NULL, NULL}
|
||||
};
|
||||
|
||||
@ -317,7 +265,6 @@ static zend_function_entry soap_server_functions[] = {
|
||||
{NULL, NULL, NULL}
|
||||
};
|
||||
|
||||
#ifdef ZEND_ENGINE_2
|
||||
ZEND_BEGIN_ARG_INFO(__call_args, 0)
|
||||
ZEND_ARG_PASS_INFO(0)
|
||||
ZEND_ARG_PASS_INFO(0)
|
||||
@ -329,19 +276,11 @@ ZEND_BEGIN_ARG_INFO(__soap_call_args, 0)
|
||||
ZEND_ARG_PASS_INFO(0)
|
||||
ZEND_ARG_PASS_INFO(1)
|
||||
ZEND_END_ARG_INFO()
|
||||
#else
|
||||
unsigned char __call_args[] = { 2, BYREF_NONE, BYREF_NONE };
|
||||
unsigned char __soap_call_args[] = { 5, BYREF_NONE, BYREF_NONE, BYREF_NONE, BYREF_NONE, BYREF_FORCE };
|
||||
#endif
|
||||
|
||||
static zend_function_entry soap_client_functions[] = {
|
||||
SOAP_CTOR(SoapClient, SoapClient, NULL, 0)
|
||||
PHP_ME(SoapClient, __call, __call_args, 0)
|
||||
#ifdef ZEND_ENGINE_2
|
||||
ZEND_FENTRY(__soapCall, ZEND_MN(SoapClient___call), __soap_call_args, 0)
|
||||
#else
|
||||
ZEND_NAMED_FE(__soapCall, ZEND_MN(SoapClient___call), __soap_call_args)
|
||||
#endif
|
||||
PHP_ME(SoapClient, __getLastRequest, NULL, 0)
|
||||
PHP_ME(SoapClient, __getLastResponse, NULL, 0)
|
||||
PHP_ME(SoapClient, __getLastRequestHeaders, NULL, 0)
|
||||
@ -391,10 +330,6 @@ zend_module_entry soap_module_entry = {
|
||||
ZEND_GET_MODULE(soap)
|
||||
#endif
|
||||
|
||||
#ifndef ZEND_ENGINE_2
|
||||
# define OnUpdateLong OnUpdateInt
|
||||
#endif
|
||||
|
||||
char* soap_unicode_to_string(UChar *ustr, int ustr_len TSRMLS_DC)
|
||||
{
|
||||
UErrorCode errCode = 0;
|
||||
@ -541,18 +476,10 @@ PHP_MINIT_FUNCTION(soap)
|
||||
ZEND_INIT_MODULE_GLOBALS(soap, php_soap_init_globals, NULL);
|
||||
REGISTER_INI_ENTRIES();
|
||||
|
||||
#ifndef ZEND_ENGINE_2
|
||||
/* Enable php stream/wrapper support for libxml */
|
||||
xmlRegisterDefaultInputCallbacks();
|
||||
xmlRegisterInputCallbacks(php_stream_xmlIO_match_wrapper, php_stream_xmlIO_open_wrapper,
|
||||
php_stream_xmlIO_read, php_stream_xmlIO_close);
|
||||
#endif
|
||||
|
||||
/* Register SoapClient class */
|
||||
/* BIG NOTE : THIS EMITS AN COMPILATION WARNING UNDER ZE2 - handle_function_call deprecated.
|
||||
soap_call_function_handler should be of type struct _zend_function, not (*handle_function_call).
|
||||
*/
|
||||
#ifdef ZEND_ENGINE_2
|
||||
{
|
||||
zend_internal_function fe;
|
||||
|
||||
@ -570,10 +497,6 @@ PHP_MINIT_FUNCTION(soap)
|
||||
(zend_function *)&fe, NULL, NULL);
|
||||
soap_class_entry = zend_register_internal_class(&ce TSRMLS_CC);
|
||||
}
|
||||
#else
|
||||
INIT_OVERLOADED_CLASS_ENTRY(ce, PHP_SOAP_CLIENT_CLASSNAME, soap_client_functions, soap_call_function_handler, NULL, NULL);
|
||||
soap_class_entry = zend_register_internal_class(&ce TSRMLS_CC);
|
||||
#endif
|
||||
|
||||
/* Register SoapVar class */
|
||||
INIT_CLASS_ENTRY(ce, PHP_SOAP_VAR_CLASSNAME, soap_var_functions);
|
||||
@ -585,11 +508,7 @@ PHP_MINIT_FUNCTION(soap)
|
||||
|
||||
/* Register SoapFault class */
|
||||
INIT_CLASS_ENTRY(ce, PHP_SOAP_FAULT_CLASSNAME, soap_fault_functions);
|
||||
#ifdef ZEND_ENGINE_2
|
||||
soap_fault_class_entry = zend_register_internal_class_ex(&ce, zend_exception_get_default(TSRMLS_C), NULL TSRMLS_CC);
|
||||
#else
|
||||
soap_fault_class_entry = zend_register_internal_class(&ce TSRMLS_CC);
|
||||
#endif
|
||||
|
||||
/* Register SoapParam class */
|
||||
INIT_CLASS_ENTRY(ce, PHP_SOAP_PARAM_CLASSNAME, soap_param_functions);
|
||||
@ -759,9 +678,6 @@ PHP_METHOD(SoapParam, SoapParam)
|
||||
php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters. Invalid parameter name.");
|
||||
}
|
||||
|
||||
#ifndef ZEND_ENGINE_2
|
||||
zval_add_ref(&data);
|
||||
#endif
|
||||
if (name_type == IS_STRING) {
|
||||
add_property_stringl(this_ptr, "param_name", name.s, name_length, 1);
|
||||
} else {
|
||||
@ -805,9 +721,6 @@ PHP_METHOD(SoapHeader, SoapHeader)
|
||||
add_property_unicodel(this_ptr, "name", name.u, name_len, 1);
|
||||
}
|
||||
if (data) {
|
||||
#ifndef ZEND_ENGINE_2
|
||||
zval_add_ref(&data);
|
||||
#endif
|
||||
add_property_zval(this_ptr, "data", data);
|
||||
}
|
||||
add_property_bool(this_ptr, "mustUnderstand", must_understand);
|
||||
@ -922,7 +835,6 @@ PHP_METHOD(SoapFault, SoapFault)
|
||||
/* }}} */
|
||||
|
||||
|
||||
#ifdef ZEND_ENGINE_2
|
||||
/* {{{ proto object SoapFault::__toString ()
|
||||
*/
|
||||
PHP_METHOD(SoapFault, __toString)
|
||||
@ -965,7 +877,6 @@ PHP_METHOD(SoapFault, __toString)
|
||||
RETURN_STRINGL(str, len, 0);
|
||||
}
|
||||
/* }}} */
|
||||
#endif
|
||||
|
||||
/* {{{ proto object SoapVar::SoapVar ( mixed data, int encoding [, string type_name [, string type_namespace [, string node_name [, string node_namespace]]]])
|
||||
SoapVar constructor */
|
||||
@ -996,9 +907,6 @@ PHP_METHOD(SoapVar, SoapVar)
|
||||
}
|
||||
|
||||
if (data) {
|
||||
#ifndef ZEND_ENGINE_2
|
||||
zval_add_ref(&data);
|
||||
#endif
|
||||
add_property_zval(this_ptr, "enc_value", data);
|
||||
}
|
||||
|
||||
@ -1322,11 +1230,7 @@ PHP_METHOD(SoapServer, setPersistence)
|
||||
PHP_METHOD(SoapServer, setClass)
|
||||
{
|
||||
soapServicePtr service;
|
||||
#ifdef ZEND_ENGINE_2
|
||||
zend_class_entry **ce;
|
||||
#else
|
||||
zend_class_entry *ce;
|
||||
#endif
|
||||
int found, argc;
|
||||
zval ***argv;
|
||||
|
||||
@ -1343,20 +1247,10 @@ PHP_METHOD(SoapServer, setClass)
|
||||
}
|
||||
|
||||
if (Z_TYPE_PP(argv[0]) == IS_STRING || Z_TYPE_PP(argv[0]) == IS_UNICODE) {
|
||||
#ifdef ZEND_ENGINE_2
|
||||
found = zend_u_lookup_class(Z_TYPE_PP(argv[0]), Z_UNIVAL_PP(argv[0]), Z_UNILEN_PP(argv[0]), &ce TSRMLS_CC);
|
||||
#else
|
||||
char *class_name = estrdup(Z_STRVAL_PP(argv[0]));
|
||||
found = zend_hash_find(EG(class_table), php_strtolower(class_name, Z_STRLEN_PP(argv[0])), Z_STRLEN_PP(argv[0]) + 1, (void **)&ce);
|
||||
efree(class_name);
|
||||
#endif
|
||||
if (found != FAILURE) {
|
||||
service->type = SOAP_CLASS;
|
||||
#ifdef ZEND_ENGINE_2
|
||||
service->soap_class.ce = *ce;
|
||||
#else
|
||||
service->soap_class.ce = ce;
|
||||
#endif
|
||||
service->soap_class.persistance = SOAP_PERSISTENCE_REQUEST;
|
||||
service->soap_class.argc = argc - 1;
|
||||
if (service->soap_class.argc > 0) {
|
||||
@ -1715,15 +1609,12 @@ PHP_METHOD(SoapServer, handle)
|
||||
/* If new session or something wierd happned */
|
||||
if (soap_obj == NULL) {
|
||||
zval *tmp_soap;
|
||||
#ifdef ZEND_ENGINE_2
|
||||
zend_function *constructor_fn;
|
||||
#endif
|
||||
|
||||
MAKE_STD_ZVAL(tmp_soap);
|
||||
object_init_ex(tmp_soap, service->soap_class.ce);
|
||||
|
||||
/* Call constructor */
|
||||
#ifdef ZEND_ENGINE_2
|
||||
if ((constructor_fn = zend_std_get_constructor(tmp_soap TSRMLS_CC))) {
|
||||
zval c_ret, constructor;
|
||||
|
||||
@ -1748,9 +1639,6 @@ PHP_METHOD(SoapServer, handle)
|
||||
zval_dtor(&constructor);
|
||||
zval_dtor(&c_ret);
|
||||
} else {
|
||||
#else
|
||||
{
|
||||
#endif
|
||||
/* FIXME: Unicode support??? */
|
||||
int class_name_len = strlen(service->soap_class.ce->name.s);
|
||||
char *class_name = emalloc(class_name_len+1);
|
||||
@ -1766,7 +1654,6 @@ PHP_METHOD(SoapServer, handle)
|
||||
if (call_user_function(NULL, &tmp_soap, &constructor, &c_ret, service->soap_class.argc, service->soap_class.argv TSRMLS_CC) == FAILURE) {
|
||||
php_error_docref(NULL TSRMLS_CC, E_ERROR, "Error calling constructor");
|
||||
}
|
||||
#ifdef ZEND_ENGINE_2
|
||||
if (EG(exception)) {
|
||||
php_output_discard(TSRMLS_C);
|
||||
if (Z_TYPE_P(EG(exception)) == IS_OBJECT &&
|
||||
@ -1779,7 +1666,6 @@ PHP_METHOD(SoapServer, handle)
|
||||
zval_ptr_dtor(&tmp_soap);
|
||||
goto fail;
|
||||
}
|
||||
#endif
|
||||
zval_dtor(&constructor);
|
||||
zval_dtor(&c_ret);
|
||||
}
|
||||
@ -1852,7 +1738,6 @@ PHP_METHOD(SoapServer, handle)
|
||||
efree(fn_name);
|
||||
if (soap_obj) {zval_ptr_dtor(&soap_obj);}
|
||||
goto fail;
|
||||
#ifdef ZEND_ENGINE_2
|
||||
} else if (EG(exception)) {
|
||||
php_output_discard(TSRMLS_C);
|
||||
if (Z_TYPE_P(EG(exception)) == IS_OBJECT &&
|
||||
@ -1868,7 +1753,6 @@ PHP_METHOD(SoapServer, handle)
|
||||
efree(fn_name);
|
||||
if (soap_obj) {zval_ptr_dtor(&soap_obj);}
|
||||
goto fail;
|
||||
#endif
|
||||
}
|
||||
} else if (h->mustUnderstand) {
|
||||
soap_server_fault("MustUnderstand","Header not understood", NULL, NULL, NULL TSRMLS_CC);
|
||||
@ -1898,7 +1782,6 @@ PHP_METHOD(SoapServer, handle)
|
||||
}
|
||||
efree(fn_name);
|
||||
|
||||
#ifdef ZEND_ENGINE_2
|
||||
if (EG(exception)) {
|
||||
php_output_discard(TSRMLS_C);
|
||||
if (Z_TYPE_P(EG(exception)) == IS_OBJECT &&
|
||||
@ -1914,7 +1797,6 @@ PHP_METHOD(SoapServer, handle)
|
||||
}
|
||||
goto fail;
|
||||
}
|
||||
#endif
|
||||
if (call_status == SUCCESS) {
|
||||
char *response_name;
|
||||
|
||||
@ -2139,7 +2021,6 @@ static void soap_error_handler(int error_num, const char *error_filename, const
|
||||
if (SOAP_GLOBAL(error_object) &&
|
||||
Z_TYPE_P(SOAP_GLOBAL(error_object)) == IS_OBJECT &&
|
||||
instanceof_function(Z_OBJCE_P(SOAP_GLOBAL(error_object)), soap_class_entry TSRMLS_CC)) {
|
||||
#ifdef ZEND_ENGINE_2
|
||||
zval **tmp;
|
||||
|
||||
if ((error_num == E_USER_ERROR ||
|
||||
@ -2191,9 +2072,6 @@ static void soap_error_handler(int error_num, const char *error_filename, const
|
||||
} else {
|
||||
call_old_error_handler(error_num, error_filename, error_lineno, format, args);
|
||||
}
|
||||
#else
|
||||
call_old_error_handler(error_num, error_filename, error_lineno, format, args);
|
||||
#endif
|
||||
} else {
|
||||
int old = PG(display_errors);
|
||||
int fault = 0;
|
||||
@ -2430,13 +2308,11 @@ PHP_METHOD(SoapClient, SoapClient)
|
||||
Z_LVAL_PP(tmp) == 1) {
|
||||
add_property_long(this_ptr, "trace", 1);
|
||||
}
|
||||
#ifdef ZEND_ENGINE_2
|
||||
if (zend_hash_find(ht, "exceptions", sizeof("exceptions"), (void**)&tmp) == SUCCESS &&
|
||||
(Z_TYPE_PP(tmp) == IS_BOOL || Z_TYPE_PP(tmp) == IS_LONG) &&
|
||||
Z_LVAL_PP(tmp) == 0) {
|
||||
add_property_bool(this_ptr, "_exceptions", 0);
|
||||
}
|
||||
#endif
|
||||
if (zend_hash_find(ht, "compression", sizeof("compression"), (void**)&tmp) == SUCCESS &&
|
||||
Z_TYPE_PP(tmp) == IS_LONG &&
|
||||
zend_hash_exists(EG(function_table), "gzinflate", sizeof("gzinflate")) &&
|
||||
@ -2466,9 +2342,7 @@ PHP_METHOD(SoapClient, SoapClient)
|
||||
*class_map = **tmp;
|
||||
INIT_PZVAL(class_map);
|
||||
zval_copy_ctor(class_map);
|
||||
#ifdef ZEND_ENGINE_2
|
||||
class_map->refcount--;
|
||||
#endif
|
||||
add_property_zval(this_ptr, "_classmap", class_map);
|
||||
}
|
||||
|
||||
@ -2791,7 +2665,6 @@ static void do_soap_call(zval* this_ptr,
|
||||
zval_copy_ctor(return_value);
|
||||
}
|
||||
}
|
||||
#ifdef ZEND_ENGINE_2
|
||||
if (Z_TYPE_P(return_value) == IS_OBJECT &&
|
||||
instanceof_function(Z_OBJCE_P(return_value), soap_fault_class_entry TSRMLS_CC) &&
|
||||
(zend_hash_find(Z_OBJPROP_P(this_ptr), "_exceptions", sizeof("_exceptions"), (void **) &tmp) != SUCCESS ||
|
||||
@ -2804,7 +2677,6 @@ static void do_soap_call(zval* this_ptr,
|
||||
INIT_PZVAL(exception);
|
||||
zend_throw_exception_object(exception TSRMLS_CC);
|
||||
}
|
||||
#endif
|
||||
if (SOAP_GLOBAL(encoding) != NULL) {
|
||||
xmlCharEncCloseFunc(SOAP_GLOBAL(encoding));
|
||||
}
|
||||
@ -3238,41 +3110,6 @@ PHP_METHOD(SoapClient, __setLocation)
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
#ifndef ZEND_ENGINE_2
|
||||
static void soap_call_function_handler(INTERNAL_FUNCTION_PARAMETERS, zend_property_reference *property_reference)
|
||||
{
|
||||
zval *object = property_reference->object;
|
||||
zend_overloaded_element *function_name = (zend_overloaded_element *)property_reference->elements_list->tail->data;
|
||||
char *function = Z_STRVAL(function_name->element);
|
||||
zend_function *builtin_function;
|
||||
|
||||
/*
|
||||
Find if the function being called is already defined...
|
||||
( IMHO: zend should handle this functionality )
|
||||
*/
|
||||
if (zend_hash_find(&Z_OBJCE_P(this_ptr)->function_table, function, Z_STRLEN(function_name->element) + 1, (void **) &builtin_function) == SUCCESS) {
|
||||
builtin_function->internal_function.handler(INTERNAL_FUNCTION_PARAM_PASSTHRU);
|
||||
} else {
|
||||
int arg_count = ZEND_NUM_ARGS();
|
||||
zval **arguments = (zval **) safe_emalloc(sizeof(zval *), arg_count, 0);
|
||||
zval **soap_headers_p
|
||||
HashTable *soap_headers;
|
||||
|
||||
zend_get_parameters_array(ht, arg_count, arguments);
|
||||
|
||||
if (zend_hash_find(Z_OBJPROP_P(this_ptr), "__default_headers", sizeof("__default_properties"), (void **) soap_headers_p)==SUCCESS
|
||||
&& Z_TYPE_P(soap_headers_p)==IS_ARRAY) {
|
||||
soap_headers = Z_ARRVAL_P(soap_headers_p);
|
||||
} else {
|
||||
soap_headers = NULL;
|
||||
}
|
||||
do_soap_call(this_ptr, function, Z_STRLEN(function_name->element) + 1, arg_count, arguments, return_value, NULL, NULL, NULL, soap_headers, NULL TSRMLS_CC);
|
||||
efree(arguments);
|
||||
}
|
||||
zval_dtor(&function_name->element);
|
||||
}
|
||||
#endif
|
||||
|
||||
static void clear_soap_fault(zval *obj TSRMLS_DC)
|
||||
{
|
||||
if (obj != NULL && obj->type == IS_OBJECT) {
|
||||
@ -3285,9 +3122,7 @@ zval* add_soap_fault(zval *obj, char *fault_code, char *fault_string, char *faul
|
||||
zval *fault;
|
||||
ALLOC_INIT_ZVAL(fault);
|
||||
set_soap_fault(fault, NULL, fault_code, fault_string, fault_actor, fault_detail, NULL TSRMLS_CC);
|
||||
#ifdef ZEND_ENGINE_2
|
||||
fault->refcount--;
|
||||
#endif
|
||||
add_property_zval(obj, "__soap_fault", fault);
|
||||
return fault;
|
||||
}
|
||||
@ -3299,9 +3134,7 @@ static void set_soap_fault(zval *obj, char *fault_code_ns, char *fault_code, cha
|
||||
}
|
||||
if (fault_string != NULL) {
|
||||
add_property_string(obj, "faultstring", fault_string, 1);
|
||||
#ifdef ZEND_ENGINE_2
|
||||
zend_update_property_string(zend_exception_get_default(TSRMLS_C), obj, "message", sizeof("message")-1, fault_string TSRMLS_CC);
|
||||
#endif
|
||||
}
|
||||
if (fault_code != NULL) {
|
||||
int soap_version = SOAP_GLOBAL(soap_version);
|
||||
|
Loading…
Reference in New Issue
Block a user