ID: 13995
Updated by: derick
Reported By: [EMAIL PROTECTED]
Old Status: Open
Status: Closed
Bug Type: Strings related
Operating System: OpenBSD 2.9-stable
PHP Version: 4.0.6
New Comment:
This is the expected behavior. It conforms to alteast the C-libraries on Linux, Win32
and Solaris.
Derick
Previous Comments:
------------------------------------------------------------------------
[2001-11-08 20:29:57] [EMAIL PROTECTED]
If a string contains two delimiters side by side (i.e. an empty field), strtok()
treats the double delimiter as a single one and the results are shifted into the wrong
variable. The previous version of the bug kept the second delimiter in the value
returned by the function. This version does not, but it returns the wrong substring.
PHP version is 4.2.0-dev
(how do I report the correct version on the report form? Shouldn't there be at least a
"other"?)
Example of the bug:
$String= "field1|field2||field4";
$Item1=strtok($String,"|"); // $Item1: field1
$Item2=strtok("|"); // $Item2: field2
$Item3=strtok("|"); // $Item3: field4
$Item4=strtok("|"); // $Item4 is empty
compare the outputs of:
http://www.pierrejelenc.com/PHP/test-module.php (correct)
and
http://www.web-ho.com/PHP/test-module.php (incorrect)
------------------------------------------------------------------------
Edit this bug report at http://bugs.php.net/?id=13995&edit=1
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]