From b10416a652d26577a22fe0b183b2258b20c8bb86 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Mon, 30 Nov 2020 16:45:48 +0100 Subject: Deprecate passing null to non-nullable arg of internal function This deprecates passing null to non-nullable scale arguments of internal functions, with the eventual goal of making the behavior consistent with userland functions, where null is never accepted for non-nullable arguments. This change is expected to cause quite a lot of fallout. In most cases, calling code should be adjusted to avoid passing null. In some cases, PHP should be adjusted to make some function arguments nullable. I have already fixed a number of functions before landing this, but feel free to file a bug if you encounter a function that doesn't accept null, but probably should. (The rule of thumb for this to be applicable is that the function must have special behavior for 0 or "", which is distinct from the natural behavior of the parameter.) RFC: https://wiki.php.net/rfc/deprecate_null_to_scalar_internal_arg Closes GH-6475. --- ext/zlib/tests/gzfile_variation3.phpt | 41 ------------------------------- ext/zlib/tests/readgzfile_variation3.phpt | 41 ------------------------------- 2 files changed, 82 deletions(-) delete mode 100644 ext/zlib/tests/gzfile_variation3.phpt delete mode 100644 ext/zlib/tests/readgzfile_variation3.phpt (limited to 'ext/zlib') diff --git a/ext/zlib/tests/gzfile_variation3.phpt b/ext/zlib/tests/gzfile_variation3.phpt deleted file mode 100644 index 276c839468..0000000000 --- a/ext/zlib/tests/gzfile_variation3.phpt +++ /dev/null @@ -1,41 +0,0 @@ ---TEST-- -Test function gzfile() by substituting argument 1 with emptyUnsetUndefNull values. ---SKIPIF-- - ---FILE-- - @$unset_var, - 'undefined var' => @$undefined_var, - 'empty string DQ' => "", - 'empty string SQ' => '', - 'uppercase NULL' => NULL, - 'lowercase null' => null, - ); - - -foreach ( $variation as $var ) { - try { - var_dump(gzfile( $var , $use_include_path ) ); - } catch (\ValueError $e) { - echo $e->getMessage() . \PHP_EOL; - } -} -?> ---EXPECT-- -Path cannot be empty -Path cannot be empty -Path cannot be empty -Path cannot be empty -Path cannot be empty -Path cannot be empty diff --git a/ext/zlib/tests/readgzfile_variation3.phpt b/ext/zlib/tests/readgzfile_variation3.phpt deleted file mode 100644 index 4a7fcecf08..0000000000 --- a/ext/zlib/tests/readgzfile_variation3.phpt +++ /dev/null @@ -1,41 +0,0 @@ ---TEST-- -Test function readgzfile() by substituting argument 1 with emptyUnsetUndefNull values. ---SKIPIF-- - ---FILE-- - @$unset_var, - 'undefined var' => @$undefined_var, - 'empty string DQ' => "", - 'empty string SQ' => '', - 'uppercase NULL' => NULL, - 'lowercase null' => null, - ); - - -foreach ( $variation as $var ) { - try { - var_dump(readgzfile( $var , $use_include_path ) ); - } catch (\ValueError $e) { - echo $e->getMessage() . \PHP_EOL; - } -} -?> ---EXPECT-- -Path cannot be empty -Path cannot be empty -Path cannot be empty -Path cannot be empty -Path cannot be empty -Path cannot be empty -- cgit v1.2.1