mirror of
https://github.com/php/php-src.git
synced 2026-04-24 16:38:25 +02:00
Merge branch 'PHP-7.2'
This commit is contained in:
+6
-10
@@ -891,16 +891,12 @@ PHP_METHOD(SoapFault, SoapFault)
|
||||
fault_code = Z_STRVAL_P(code);
|
||||
fault_code_len = Z_STRLEN_P(code);
|
||||
} else if (Z_TYPE_P(code) == IS_ARRAY && zend_hash_num_elements(Z_ARRVAL_P(code)) == 2) {
|
||||
zval *t_ns, *t_code;
|
||||
|
||||
zend_hash_internal_pointer_reset(Z_ARRVAL_P(code));
|
||||
t_ns = zend_hash_get_current_data(Z_ARRVAL_P(code));
|
||||
zend_hash_move_forward(Z_ARRVAL_P(code));
|
||||
t_code = zend_hash_get_current_data(Z_ARRVAL_P(code));
|
||||
if (Z_TYPE_P(t_ns) == IS_STRING && Z_TYPE_P(t_code) == IS_STRING) {
|
||||
fault_code_ns = Z_STRVAL_P(t_ns);
|
||||
fault_code = Z_STRVAL_P(t_code);
|
||||
fault_code_len = Z_STRLEN_P(t_code);
|
||||
zval *t_ns = zend_hash_index_find(Z_ARRVAL_P(code), 0);
|
||||
zval *t_code = zend_hash_index_find(Z_ARRVAL_P(code), 1);
|
||||
if (t_ns && t_code && Z_TYPE_P(t_ns) == IS_STRING && Z_TYPE_P(t_code) == IS_STRING) {
|
||||
fault_code_ns = Z_STRVAL_P(t_ns);
|
||||
fault_code = Z_STRVAL_P(t_code);
|
||||
fault_code_len = Z_STRLEN_P(t_code);
|
||||
} else {
|
||||
php_error_docref(NULL, E_WARNING, "Invalid fault code");
|
||||
return;
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
--TEST--
|
||||
SoapFault class: Invalid Fault code warning given? Can't be an empty string, an array of not 2 elements etc.
|
||||
--SKIPIF--
|
||||
<?php require_once('skipif.inc'); ?>
|
||||
--FILE--
|
||||
<?php
|
||||
$fault = new SoapFault("", "message"); // Can't be an empty string
|
||||
$fault = new SoapFault(0, "message"); // Can't be a non-string (except for null)
|
||||
$fault = new SoapFault("Sender", "message");
|
||||
echo get_class($fault) . "\n";
|
||||
$fault = new SoapFault(null, "message");
|
||||
echo get_class($fault) . "\n";
|
||||
$fault = new SoapFault(["more"], "message"); // two elements in array required
|
||||
$fault = new SoapFault(["m", "more", "superflous"], "message"); // two required
|
||||
$fault = new SoapFault(["more-ns", "Sender"], "message"); // two given
|
||||
echo get_class($fault);
|
||||
?>
|
||||
--EXPECTF--
|
||||
Warning: SoapFault::SoapFault(): Invalid fault code in %s on line %d
|
||||
|
||||
Warning: SoapFault::SoapFault(): Invalid fault code in %s on line %d
|
||||
SoapFault
|
||||
SoapFault
|
||||
|
||||
Warning: SoapFault::SoapFault(): Invalid fault code in %s on line %d
|
||||
|
||||
Warning: SoapFault::SoapFault(): Invalid fault code in %s on line %d
|
||||
SoapFault
|
||||
Reference in New Issue
Block a user