While converting the functions inside string.c to the new parameter parsing
API and doing some general cleanup, I've come across an interesting
'feature'.
Three string functions: stristr(), strstr() and strpos() have peculiar way of
handling non string values passed as 'needle'. Instead of converting the
needle to a string they instead convert it to an integer and search for a
character equivalent to that integer.
This behavior causes a problem such as strstr("abc123", 1) returning false
rather then returning 123 as one may expect. Because this behavior is not
documented, I believe we could safely change it back to the behavior listed
in the manual and the one defined in the function's prototype.
The con of this approach is that it may break scripts that really on the
undocumented behavior, therefor I propose that this change would only go into
the 4.4/5.0 branch at which point people will expect small behavioral
changes.
Ilia
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php