diff options
Diffstat (limited to 'ext/xml/xml.c')
-rw-r--r-- | ext/xml/xml.c | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/ext/xml/xml.c b/ext/xml/xml.c index c5d3f71079..c670c2ef52 100644 --- a/ext/xml/xml.c +++ b/ext/xml/xml.c @@ -1029,8 +1029,8 @@ static void php_xml_parser_create_impl(INTERNAL_FUNCTION_PARAMETERS, int ns_supp } else if (strcasecmp(encoding_param, "US-ASCII") == 0) { encoding = (XML_Char*)"US-ASCII"; } else { - php_error_docref(NULL, E_WARNING, "Unsupported source encoding \"%s\"", encoding_param); - RETURN_FALSE; + zend_argument_value_error(1, "is not a supported source encoding"); + RETURN_THROWS(); } } else { encoding = XML(default_encoding); @@ -1442,15 +1442,15 @@ PHP_FUNCTION(xml_parser_set_option) enc = xml_get_encoding((XML_Char*)Z_STRVAL_P(val)); if (enc == NULL) { - php_error_docref(NULL, E_WARNING, "Unsupported target encoding \"%s\"", Z_STRVAL_P(val)); - RETURN_FALSE; + zend_argument_value_error(3, "is not a supported target encoding"); + RETURN_THROWS(); } parser->target_encoding = enc->name; break; } default: - php_error_docref(NULL, E_WARNING, "Unknown option"); - RETURN_FALSE; + zend_argument_value_error(2, "must be a PHP_XML_OPTION_* constant"); + RETURN_THROWS(); break; } RETVAL_TRUE; @@ -1483,12 +1483,9 @@ PHP_FUNCTION(xml_parser_get_option) RETURN_STRING((char *)parser->target_encoding); break; default: - php_error_docref(NULL, E_WARNING, "Unknown option"); - RETURN_FALSE; - break; + zend_argument_value_error(2, "must be a PHP_XML_OPTION_* constant"); + RETURN_THROWS(); } - - RETVAL_FALSE; /* never reached */ } /* }}} */ |