hex2bin: E_WARNING is too much for odd string?
| From: | Yasuo Ohgaki | Date: | Wed, 26 Jun 2013 19:21:28 +0000 |
| Subject: | hex2bin: E_WARNING is too much for odd string? | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-67905@lists.php.net to get a copy of this message | ||
Hi all,
hex2bin raises E_WARNING for odd length hex strings from PHP 5.4.1.
http://jp2.php.net/manual/en/function.hex2bin.php
However, just returning FALSE is easier for programmers.
Current behavior requires additional length check for bad hex to prevent
E_WARNING.
$str = 'abZ';
if (strlen($str)%2) {
// BAD hex - invalid length
} else if (hex2bin($str) {
// BAD hex - invalid char
}
Instead, it would better that hex2bin() just returns FALSE for invalid hex,
IMHO.
$str = 'abZ';
if (strlen($str)%2) {
// BAD hex - invalid length or char
}
I can understand current behavior as BC. However, it would better cleanup
bad spec sooner or later.
PHP 5.4: Raise E_ERROR and return FALSE for invalid length.
PHP 5.5: Just return FALSE.
or
PHP 5.4: Keep current behavior
PHP 5.4: Riase E_ERROR and return FALSE for invalid length.
PHP 5.5: Remove E_ERROR.
Any ideas?
--
Yasuo Ohgaki
yohgaki@ohgaki.net