Missing warning for stats(), etc. when invoked with empty string
| From: | Claude Pache | Date: | Thu, 03 Dec 2020 10:20:07 +0000 |
| Subject: | Missing warning for stats(), etc. when invoked with empty string | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-112396@lists.php.net to get a copy of this message | ||
Hi,
stats() and friends invoked with empty string or null as argument, return
false (indicating failure), but do not emit the Warning that is expected on failure.
See: https://3v4l.org/jXC2N <https://3v4l.org/jXC2N>
That discrepancy between the two ways of indicating failure is problematic. Indeed, whenever I use
one of those functions without prefixing it by @, I expect that it will either return a value of
expected type (array in case of stats()), or run the panic procedure of my
error handler.
I propose to ensure that those functions always emit a Warning in each and every situation they
return false/null (provided, of course, that those functions are not supposed to return
false/null in absence of failure, and that their purpose is not to check failure
condition as in file_exists()).
—Claude