]> granicus.if.org Git - php/commitdiff
Convert some warnings to Errors in BZip2
authorGeorge Peter Banyard <girgias@php.net>
Sun, 8 Dec 2019 12:30:46 +0000 (13:30 +0100)
committerGeorge Peter Banyard <girgias@php.net>
Wed, 8 Jan 2020 23:58:12 +0000 (00:58 +0100)
Closes GH-4984

ext/bz2/bz2.c
ext/bz2/tests/001.phpt
ext/bz2/tests/002.phpt
ext/bz2/tests/003-mb.phpt
ext/bz2/tests/003.phpt

index 9b84feafe10854c1875680201a62354bb6dfecb8..d6cdcacdebba178dffe317ad6a2b06b3b53aca57 100644 (file)
@@ -338,9 +338,9 @@ static PHP_FUNCTION(bzread)
 
        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);
@@ -367,8 +367,8 @@ static PHP_FUNCTION(bzopen)
        }
 
        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 */
@@ -430,8 +430,8 @@ static PHP_FUNCTION(bzopen)
 
                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) {
index ee1872f0efb97950bdb8af2fbba076a931d95ab1..a0e8d2e60e088e00fa2bdd9dfe9b7583267e455a 100644 (file)
@@ -5,35 +5,48 @@ bzopen() and invalid parameters
 --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
index a69514a71132c9cbd5fe727cb09c4128bd266cef..c8069cc4a4c25dc3cb9efbe4b103dea095e5cae1 100644 (file)
@@ -28,10 +28,18 @@ $fp = fopen("bz_open_002.txt", "wb");
 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"));
@@ -71,7 +79,6 @@ var_dump(bzopen($fp, "w"));
 
 @unlink("bz_open_002.txt");
 
-echo "Done\n";
 ?>
 --EXPECTF--
 resource(%d) of type (stream)
@@ -84,14 +91,10 @@ 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)
@@ -126,4 +129,3 @@ 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
index b5f8fe814e2c053ee3980c96b40c85e934b19bd1..c01a3d18c81caeb5575da9f633e42ed89d969215 100644 (file)
@@ -7,18 +7,21 @@ bzread() tests
 
 $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
@@ -30,4 +33,3 @@ Rising up for Jerusalem
 Rising up from the heat of the desert
 Heading out for Jerusalem
 "
-Done
index cc5b2a3787882418b5ffe9c5c30c9120fe188774..6c1f8ea4a98737bbb1e87a5caa7df4786ed71a40 100644 (file)
@@ -7,18 +7,21 @@ bzread() tests
 
 $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
@@ -30,4 +33,3 @@ Rising up for Jerusalem
 Rising up from the heat of the desert
 Heading out for Jerusalem
 "
-Done