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]

Reply via email to