php_stream_from_zval(stream, bz);
- if ((len + 1) < 1) {
- php_error_docref(NULL, E_WARNING, "length may not be negative");
- RETURN_FALSE;
+ if (len < 0) {
+ zend_value_error("Length cannot be negative");
+ RETURN_THROWS();
}
data = php_stream_read_to_str(stream, len);
}
if (mode_len != 1 || (mode[0] != 'r' && mode[0] != 'w')) {
- php_error_docref(NULL, E_WARNING, "'%s' is not a valid mode for bzopen(). Only 'w' and 'r' are supported.", mode);
- RETURN_FALSE;
+ zend_value_error("'%s' is not a valid mode for bzopen(). Only 'w' and 'r' are supported.", mode);
+ RETURN_THROWS();
}
/* If it's not a resource its a string containing the filename to open */
stream = php_stream_bz2open_from_BZFILE(bz, mode, stream);
} else {
- php_error_docref(NULL, E_WARNING, "first parameter has to be string or file-resource");
- RETURN_FALSE;
+ zend_type_error("First parameter has to be string or file-resource");
+ RETURN_THROWS();
}
if (stream) {
--FILE--
<?php
-var_dump(bzopen("", ""));
-var_dump(bzopen("", "r"));
+try {
+ var_dump(bzopen("", ""));
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
+
+ var_dump(bzopen("", "r"));
var_dump(bzopen("", "w"));
-var_dump(bzopen("", "x"));
-var_dump(bzopen("", "rw"));
-var_dump(bzopen("no_such_file", "r"));
+
+try {
+ var_dump(bzopen("", "x"));
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
+
+try {
+ var_dump(bzopen("", "rw"));
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
+
+try {
+ var_dump(bzopen("no_such_file", "r"));
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
$fp = fopen(__FILE__,"r");
var_dump(bzopen($fp, "r"));
-echo "Done\n";
?>
--EXPECTF--
-Warning: bzopen(): '' is not a valid mode for bzopen(). Only 'w' and 'r' are supported. in %s on line %d
-bool(false)
+'' is not a valid mode for bzopen(). Only 'w' and 'r' are supported.
Warning: bzopen(): filename cannot be empty in %s on line %d
bool(false)
Warning: bzopen(): filename cannot be empty in %s on line %d
bool(false)
-
-Warning: bzopen(): 'x' is not a valid mode for bzopen(). Only 'w' and 'r' are supported. in %s on line %d
-bool(false)
-
-Warning: bzopen(): 'rw' is not a valid mode for bzopen(). Only 'w' and 'r' are supported. in %s on line %d
-bool(false)
+'x' is not a valid mode for bzopen(). Only 'w' and 'r' are supported.
+'rw' is not a valid mode for bzopen(). Only 'w' and 'r' are supported.
Warning: bzopen(no_such_file): failed to open stream: No such file or directory in %s on line %d
bool(false)
resource(%d) of type (stream)
-Done
var_dump(bzopen($fp, "w"));
$fp = fopen("bz_open_002.txt", "br");
-var_dump(bzopen($fp, "r"));
+try {
+ var_dump(bzopen($fp, "r"));
+} catch (\TypeError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
$fp = fopen("bz_open_002.txt", "br");
-var_dump(bzopen($fp, "w"));
+try {
+ var_dump(bzopen($fp, "w"));
+} catch (\TypeError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
$fp = fopen("bz_open_002.txt", "r");
var_dump(bzopen($fp, "w"));
@unlink("bz_open_002.txt");
-echo "Done\n";
?>
--EXPECTF--
resource(%d) of type (stream)
resource(%d) of type (stream)
Warning: fopen(bz_open_002.txt): failed to open stream: Bad file %s in %s on line %d
-
-Warning: bzopen(): first parameter has to be string or file-resource in %s on line %d
-bool(false)
+First parameter has to be string or file-resource
Warning: fopen(bz_open_002.txt): failed to open stream: Bad file %s in %s on line %d
-
-Warning: bzopen(): first parameter has to be string or file-resource in %s on line %d
-bool(false)
+First parameter has to be string or file-resource
Warning: bzopen(): cannot write to a stream opened in read only mode in %s on line %d
bool(false)
Warning: bzopen(): cannot read from a stream opened in write only mode in %s on line %d
bool(false)
resource(%d) of type (stream)
-Done
$fd = bzopen(__DIR__."/003私はガラスを食べられます.txt.bz2","r");
var_dump(bzread($fd, 0));
-var_dump(bzread($fd, -10));
+
+try {
+ var_dump(bzread($fd, -10));
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
+
var_dump(bzread($fd, 1));
var_dump(bzread($fd, 2));
var_dump(bzread($fd, 100000));
-echo "Done\n";
?>
---EXPECTF--
+--EXPECT--
string(0) ""
-
-Warning: bzread(): length may not be negative in %s on line %d
-bool(false)
+Length cannot be negative
string(1) "R"
string(2) "is"
string(251) "ing up from the heart of the desert
Rising up from the heat of the desert
Heading out for Jerusalem
"
-Done
$fd = bzopen(__DIR__."/003.txt.bz2","r");
var_dump(bzread($fd, 0));
-var_dump(bzread($fd, -10));
+
+try {
+ var_dump(bzread($fd, -10));
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
+
var_dump(bzread($fd, 1));
var_dump(bzread($fd, 2));
var_dump(bzread($fd, 100000));
-echo "Done\n";
?>
---EXPECTF--
+--EXPECT--
string(0) ""
-
-Warning: bzread(): length may not be negative in %s on line %d
-bool(false)
+Length cannot be negative
string(1) "R"
string(2) "is"
string(251) "ing up from the heart of the desert
Rising up from the heat of the desert
Heading out for Jerusalem
"
-Done