Bug #14541 Updated: strtok broken again
| From: | hax at hax dot at | Date: | Wed, 24 Jul 2002 10:41:21 +0000 |
| Subject: | Bug #14541 Updated: strtok broken again | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-15030@lists.php.net to get a copy of this message | ||
ID: 14541
Updated by: hax@hax.at
Reported By: mlemos@acm.org
Status: Bogus
Bug Type: Strings related
Operating System: Any
PHP Version: 4.1.0
New Comment:
Nevermind my last posting.
I was able to find a workaround :)))
It would be cool if you would put this in the documentation I think !
To get the old strtok way:
put this in your php documents and replace strtok with strtokold
Function strtokold($string,$separator="")
{
static $next_token='';
if(!strcmp($separator,""))
{
$separator=$string;
$string=$next_token;
}
for($character=0;$character<strlen($separator);$character++)
{
if(GetType($position=strpos($string,$separator[$character]))=="integer")
{
$next_token=substr($string,$position+1);
return(substr($string,0,$position));
}
}
$next_token="";
return($string);
}
tested and works FINE for me :)))
thanks a bunch.
Previous Comments:
------------------------------------------------------------------------
[2002-07-24 05:39:54] hax@hax.at
I wholeheartly agree with mlemos !
This sucks big time!
A lot !!! of old scripts are NOT working anymore !
This sucks.
At least make a second function strtokold or something, that works like
the old one, so it's easy to get the old scripts working again.
changing the way things work with no backwards compatibility simply
sucks.
------------------------------------------------------------------------
[2001-12-16 12:35:21] mlemos@acm.org
No, jmoore just broke the behaviour of PHP strtok function that worked
like that since PHP 3 for more than 4 years.
This means that he also broke PHP code that relied in that behaviour,
thus discouraging people to upgrade to PHP 4.1.0 .
It does not matter what a Unix manual says because PHP users could not
care less about Unix manuals when the behaviour of a function that they
rely on changes without backwards compatibility.
------------------------------------------------------------------------
[2001-12-16 05:44:55] mfischer@php.net
Documention is now fixed in CVS, thx 2 derick.
------------------------------------------------------------------------
[2001-12-16 04:45:08] derick@php.net
jmoore did not break this, he fixed a faulty behavior that existed
since 4.0.0.
The current behavior is the correct one, as outlined by every unix or
windows manual about the topic 'strtok'.
Derick
------------------------------------------------------------------------
[2001-12-16 02:40:29] mlemos@acm.org
I understand that it is very hard to make developers write tests for
new software, but at least those that commit bug fixes should be
required to submit test scripts that reproduce the bugs if they do not
exist yet.
As for myself, I always present test cases when they are possible in
the bug report itself, just like I did for this. So, developers have at
least half of the job done.
I think that is a matter of making it a rule by adding to the
CODING_STANDARDS.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/14541
--
Edit this bug report at http://bugs.php.net/?id=14541&edit=1