Alain Samoun wrote:
> Manuel:
> What is broken with strtok() since php4.06? So far my code that use it seems
> to work ok with PHP4.10...??? I'd Like to know ;)

If the token character is the first of the string you want to tokenize,
now strtok ignores it, before it would return an empty string. For
instance strtok("/something","/") would return "" but since strtok was
broken it returns "something". This makes strtok completely useless to
break an arbitrary string by tokens because it will discard the first
token if it is an empty string.

The strtok function behaved like that since it was introduced in PHP 3.
If you figure that this change will break your PHP code, you may want to
try the function in the page below. It also contains a fixed version of
dirname that was also broke between PHP 4 and 4.1.0.

Manuel Lemos

> A+
> Alain
> -----Original Message-----
> From: Manuel Lemos [mailto:[EMAIL PROTECTED]]
> Sent: Sunday, January 13, 2002 2:44 PM
> Subject: [PHP-DEV] Re: strtok bug
> Hello,
> Robert Mena wrote:
> >
> > Hi, does anybody know when the strtok bug introduced
> After 4.0.6 .
> > in 4.1.1 will be fixed ?
> > Will we have a 4.1.2 or should I try to grab a cvs
> > tree (assuming that it is already solved) ?
> You may want to ask that in php-dev mailing list because last time that
> I reported it I was told that it would not be fixed because it was just
> me complaining.
> Actually, I don't think that who has broken strtok noticed that he
> broken the behaviour that was always like that since the function was
> introduced in PHP 3, so the change was never documented. This suggests
> that like you and me there are certainly much more people affected that
> have not realized that strtok was broken and that it will affect their
> code.
> Anyway, since PHP developers do not seem to be willing to fix what they
> broke, regardless if they ever reconsider, you may want to try this
> alternative function that behaves like the original and only relies on
> functions that were not (yet) broken, so you don't stop yourself from
> upgrading PHP.
> http://phpclasses.upperdesign.com/browse.html/package/404
> I also had several popular classes of mine broken because of the strtok
> bug. Since they are very popular the changes were announce in Freshmeat
> which according to the PHP Classes site they were downloaded by more
> than 30.000 users, despite on of the justifications for not fixing the
> bug was that it was not affecting significant code bases, which is not
> true as you may notice.
> Email validation class
> http://freshmeat.net/releases/66935/
> HTTP client class
> http://freshmeat.net/releases/66937/
> POP3 client class
> http://freshmeat.net/releases/66938/
> MIME message composing and sending class
> http://freshmeat.net/releases/66936/
> SMTP client class
> http://freshmeat.net/releases/66940/
> Regards,
> Manuel Lemos
> --
> 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]

PHP General 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