mirror of
https://github.com/php/php-src.git
synced 2026-04-12 18:43:37 +02:00
Promote warnings to exceptions for some filter functions
This commit is contained in:
@@ -2,22 +2,31 @@
|
||||
stream_filter_register() and invalid arguments
|
||||
--FILE--
|
||||
<?php
|
||||
try {
|
||||
stream_filter_register("", "");
|
||||
} catch (ValueError $exception) {
|
||||
echo $exception->getMessage() . "\n";
|
||||
}
|
||||
|
||||
try {
|
||||
stream_filter_register("test", "");
|
||||
} catch (ValueError $exception) {
|
||||
echo $exception->getMessage() . "\n";
|
||||
}
|
||||
|
||||
try {
|
||||
stream_filter_register("", "test");
|
||||
} catch (ValueError $exception) {
|
||||
echo $exception->getMessage() . "\n";
|
||||
}
|
||||
|
||||
var_dump(stream_filter_register("", ""));
|
||||
var_dump(stream_filter_register("test", ""));
|
||||
var_dump(stream_filter_register("", "test"));
|
||||
var_dump(stream_filter_register("------", "nonexistentclass"));
|
||||
|
||||
echo "Done\n";
|
||||
?>
|
||||
--EXPECTF--
|
||||
Warning: stream_filter_register(): Filter name cannot be empty in %s on line %d
|
||||
bool(false)
|
||||
|
||||
Warning: stream_filter_register(): Class name cannot be empty in %s on line %d
|
||||
bool(false)
|
||||
|
||||
Warning: stream_filter_register(): Filter name cannot be empty in %s on line %d
|
||||
bool(false)
|
||||
Filter name cannot be empty
|
||||
Class name cannot be empty
|
||||
Filter name cannot be empty
|
||||
bool(true)
|
||||
Done
|
||||
|
||||
@@ -389,7 +389,7 @@ static void filter_item_dtor(zval *zv)
|
||||
efree(fdat);
|
||||
}
|
||||
|
||||
/* {{{ proto object|false stream_bucket_make_writeable(resource brigade)
|
||||
/* {{{ proto object|null stream_bucket_make_writeable(resource brigade)
|
||||
Return a bucket object from the brigade for operating on */
|
||||
PHP_FUNCTION(stream_bucket_make_writeable)
|
||||
{
|
||||
@@ -434,8 +434,8 @@ static void php_stream_bucket_attach(int append, INTERNAL_FUNCTION_PARAMETERS)
|
||||
ZEND_PARSE_PARAMETERS_END();
|
||||
|
||||
if (NULL == (pzbucket = zend_hash_str_find(Z_OBJPROP_P(zobject), "bucket", sizeof("bucket")-1))) {
|
||||
php_error_docref(NULL, E_WARNING, "Object has no bucket property");
|
||||
RETURN_FALSE;
|
||||
zend_value_error("Object has no bucket property");
|
||||
return;
|
||||
}
|
||||
|
||||
if ((brigade = (php_stream_bucket_brigade*)zend_fetch_resource(
|
||||
@@ -505,7 +505,6 @@ PHP_FUNCTION(stream_bucket_new)
|
||||
ZEND_PARSE_PARAMETERS_END();
|
||||
|
||||
php_stream_from_zval(stream, zstream);
|
||||
|
||||
pbuffer = pemalloc(buffer_len, php_stream_is_persistent(stream));
|
||||
|
||||
memcpy(pbuffer, buffer, buffer_len);
|
||||
@@ -564,15 +563,13 @@ PHP_FUNCTION(stream_filter_register)
|
||||
Z_PARAM_STR(classname)
|
||||
ZEND_PARSE_PARAMETERS_END();
|
||||
|
||||
RETVAL_FALSE;
|
||||
|
||||
if (!ZSTR_LEN(filtername)) {
|
||||
php_error_docref(NULL, E_WARNING, "Filter name cannot be empty");
|
||||
zend_value_error("Filter name cannot be empty");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!ZSTR_LEN(classname)) {
|
||||
php_error_docref(NULL, E_WARNING, "Class name cannot be empty");
|
||||
zend_value_error("Class name cannot be empty");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -590,6 +587,7 @@ PHP_FUNCTION(stream_filter_register)
|
||||
} else {
|
||||
zend_string_release_ex(classname, 0);
|
||||
efree(fdat);
|
||||
RETVAL_FALSE;
|
||||
}
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
Reference in New Issue
Block a user