iliaa Sat Jul 23 15:44:14 2005 EDT
Modified files:
/php-src/ext/standard/tests/strings str_word_count.phpt
/php-src/ext/standard string.c
Log:
Fixed bug in str_word_count() when charlist if specified and "word" starts
with a character found inside the charlist.
http://cvs.php.net/diff.php/php-src/ext/standard/tests/strings/str_word_count.phpt?r1=1.3&r2=1.4&ty=u
Index: php-src/ext/standard/tests/strings/str_word_count.phpt
diff -u php-src/ext/standard/tests/strings/str_word_count.phpt:1.3
php-src/ext/standard/tests/strings/str_word_count.phpt:1.4
--- php-src/ext/standard/tests/strings/str_word_count.phpt:1.3 Sat Mar 12
12:51:18 2005
+++ php-src/ext/standard/tests/strings/str_word_count.phpt Sat Jul 23
15:44:12 2005
@@ -118,7 +118,7 @@
[2]=>
string(1) "r"
[3]=>
- string(1) "s"
+ string(2) "1s"
[4]=>
string(3) "bar"
[5]=>
@@ -130,7 +130,7 @@
[1]=>
string(3) "B4r"
[2]=>
- string(1) "s"
+ string(2) "1s"
[3]=>
string(3) "bar"
[4]=>
@@ -181,8 +181,8 @@
string(1) "B"
[6]=>
string(1) "r"
- [9]=>
- string(1) "s"
+ [8]=>
+ string(2) "1s"
[11]=>
string(3) "bar"
[15]=>
@@ -193,8 +193,8 @@
string(3) "F0o"
[4]=>
string(3) "B4r"
- [9]=>
- string(1) "s"
+ [8]=>
+ string(2) "1s"
[11]=>
string(3) "bar"
[15]=>
http://cvs.php.net/diff.php/php-src/ext/standard/string.c?r1=1.443&r2=1.444&ty=u
Index: php-src/ext/standard/string.c
diff -u php-src/ext/standard/string.c:1.443 php-src/ext/standard/string.c:1.444
--- php-src/ext/standard/string.c:1.443 Fri Jul 15 08:35:12 2005
+++ php-src/ext/standard/string.c Sat Jul 23 15:44:13 2005
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: string.c,v 1.443 2005/07/15 12:35:12 hyanantha Exp $ */
+/* $Id: string.c,v 1.444 2005/07/23 19:44:13 iliaa Exp $ */
/* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */
@@ -4739,8 +4739,8 @@
}
while (p < e) {
- if (isalpha(*p++)) {
- s = p - 1;
+ if (isalpha(*p) || (char_list && ch[(unsigned char)*p])) {
+ s = ++p - 1;
while (isalpha(*p) || *p == '\'' || (*p == '-' &&
isalpha(*(p+1))) || (char_list && ch[(unsigned char)*p])) {
p++;
}
@@ -4761,7 +4761,9 @@
word_count++;
break;
}
- }
+ } else {
+ p++;
+ }
}
if (!type) {
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php