]> granicus.if.org Git - php/commitdiff
Promote warrnings to exceptions in chgrp() function
authorMáté Kocsis <kocsismate@woohoolabs.com>
Wed, 20 Nov 2019 01:27:46 +0000 (02:27 +0100)
committerMáté Kocsis <kocsismate@woohoolabs.com>
Fri, 20 Dec 2019 15:43:40 +0000 (16:43 +0100)
GH-5004

ext/standard/filestat.c
ext/standard/tests/file/chgrp.phpt

index 324bb270651f57e0529d07283080f775071729d1..90744a41c10effd0e702ae26e9ec177586ac93d8 100644 (file)
@@ -214,7 +214,7 @@ static int php_disk_free_space(char *path, double *space) /* {{{ */
                PHP_WIN32_IOUTIL_CLEANUP_W()
                return FAILURE;
        }
-       
+
        *space = FreeBytesAvailableToCaller.HighPart * (double) (1ULL << 32)  + FreeBytesAvailableToCaller.LowPart;
 
        PHP_WIN32_IOUTIL_CLEANUP_W()
@@ -353,8 +353,8 @@ static void php_do_chgrp(INTERNAL_FUNCTION_PARAMETERS, int do_lchgrp) /* {{{ */
                                option = PHP_STREAM_META_GROUP_NAME;
                                value = Z_STRVAL_P(group);
                        } else {
-                               php_error_docref(NULL, E_WARNING, "parameter 2 should be string or int, %s given", zend_zval_type_name(group));
-                               RETURN_FALSE;
+                               zend_type_error("Parameter 2 should be string or int, %s given", zend_zval_type_name(group));
+                               return;
                        }
                        if(wrapper->wops->stream_metadata(wrapper, filename, option, value, NULL)) {
                                RETURN_TRUE;
@@ -382,8 +382,8 @@ static void php_do_chgrp(INTERNAL_FUNCTION_PARAMETERS, int do_lchgrp) /* {{{ */
                        RETURN_FALSE;
                }
        } else {
-               php_error_docref(NULL, E_WARNING, "parameter 2 should be string or int, %s given", zend_zval_type_name(group));
-               RETURN_FALSE;
+               zend_type_error("Parameter 2 should be string or int, %s given", zend_zval_type_name(group));
+               return;
        }
 
        /* Check the basedir */
index 03ea24141bb0a1705eda5791965c9e5d49589475..9003979a7526e1fd008dc82b692b2cb4d14d633e 100644 (file)
@@ -7,9 +7,11 @@ if(substr(PHP_OS, 0, 3) == "WIN")
 ?>
 --FILE--
 <?php
-chgrp("sjhgfskhagkfdgskjfhgskfsdgfkdsajf", NULL);
-echo "ALIVE\n";
+try {
+    chgrp("sjhgfskhagkfdgskjfhgskfsdgfkdsajf", null);
+} catch (TypeError $exception) {
+    echo $exception->getMessage() . "\n";
+}
 ?>
 --EXPECTF--
-Warning: chgrp(): parameter 2 should be string or int, null given in %schgrp.php on line 2
-ALIVE
+Parameter 2 should be string or int, null given