Skip to content

Commit 8688206

Browse files
committed
Use zend_call_method in SoapFault::__toString()
1 parent a1ab7bb commit 8688206

File tree

1 file changed

+3
-11
lines changed

1 file changed

+3
-11
lines changed

ext/soap/soap.c

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
#endif
2626
#include "soap_arginfo.h"
2727
#include "zend_exceptions.h"
28+
#include "zend_interfaces.h"
2829

2930

3031
static int le_sdl = 0;
@@ -633,7 +634,6 @@ PHP_METHOD(SoapFault, __toString)
633634
{
634635
zval *faultcode, *faultstring, *file, *line, trace, rv1, rv2, rv3, rv4;
635636
zend_string *str;
636-
zend_fcall_info fci;
637637
zval *this_ptr;
638638
zend_string *faultcode_val, *faultstring_val, *file_val;
639639
zend_long line_val;
@@ -648,16 +648,8 @@ PHP_METHOD(SoapFault, __toString)
648648
file = zend_read_property(soap_fault_class_entry, this_ptr, "file", sizeof("file")-1, 1, &rv3);
649649
line = zend_read_property(soap_fault_class_entry, this_ptr, "line", sizeof("line")-1, 1, &rv4);
650650

651-
fci.size = sizeof(fci);
652-
ZVAL_STRINGL(&fci.function_name, "gettraceasstring", sizeof("gettraceasstring")-1);
653-
fci.object = Z_OBJ_P(ZEND_THIS);
654-
fci.retval = &trace;
655-
fci.param_count = 0;
656-
fci.params = NULL;
657-
658-
zend_call_function(&fci, NULL);
659-
660-
zval_ptr_dtor(&fci.function_name);
651+
zend_call_method_with_0_params(
652+
Z_OBJ_P(ZEND_THIS), Z_OBJCE_P(ZEND_THIS), NULL, "gettraceasstring", &trace);
661653

662654
faultcode_val = zval_get_string(faultcode);
663655
faultstring_val = zval_get_string(faultstring);

0 commit comments

Comments
 (0)