tony2001 Tue Aug 8 09:48:08 2006 UTC
Modified files:
/php-src/ext/standard string.c
/php-src/ext/standard/tests/strings strings001.phpt
Log:
use memrchr/zend_memrchr instead of strrchr
fix wrong test
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/string.c?r1=1.565&r2=1.566&diff_format=u
Index: php-src/ext/standard/string.c
diff -u php-src/ext/standard/string.c:1.565 php-src/ext/standard/string.c:1.566
--- php-src/ext/standard/string.c:1.565 Tue Aug 8 08:59:51 2006
+++ php-src/ext/standard/string.c Tue Aug 8 09:48:08 2006
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: string.c,v 1.565 2006/08/08 08:59:51 tony2001 Exp $ */
+/* $Id: string.c,v 1.566 2006/08/08 09:48:08 tony2001 Exp $ */
/* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */
@@ -2104,13 +2104,13 @@
int ext_len;
if (path_type == IS_UNICODE) {
- ext.u = u_strrchr(ret.u, (UChar) 0x2e /*'.'*/);
+ ext.u = u_memrchr32(ret.u, (UChar) 0x2e /*'.'*/,
ret_len);
if (ext.u) {
ext.u++;
ext_len = ret_len - (ext.u - ret.u);
}
} else {
- ext.s = strrchr(ret.s, '.');
+ ext.s = zend_memrchr(ret.s, '.', ret_len);
if (ext.s) {
ext.s++;
ext_len = ret_len - (ext.s - ret.s);
@@ -2127,10 +2127,10 @@
int idx;
if (path_type == IS_UNICODE) {
- p.u = u_strrchr(ret.u, (UChar) 0x2e /*'.'*/);
+ p.u = u_memrchr32(ret.u, (UChar) 0x2e /*'.'*/, ret_len);
idx = p.u ? (p.u - ret.u) : ret_len;
} else {
- p.s = strrchr(ret.s, '.');
+ p.s = zend_memrchr(ret.s, '.', ret_len);
idx = p.s ? (p.s - ret.s) : ret_len;
}
@@ -2961,7 +2961,7 @@
ch = zend_get_codepoint_at(Z_USTRVAL_P(needle),
Z_USTRLEN_P(needle), 0);
found = u_memrchr32(Z_USTRVAL_P(haystack), ch,
Z_USTRLEN_P(haystack));
} else {
- found = strrchr(Z_STRVAL_P(haystack),
*Z_STRVAL_P(needle));
+ found = zend_memrchr(Z_STRVAL_P(haystack),
*Z_STRVAL_P(needle), Z_STRLEN_P(haystack));
}
} else {
convert_to_long(needle);
@@ -2973,7 +2973,7 @@
}
found = u_memrchr32(Z_USTRVAL_P(haystack), ch,
Z_USTRLEN_P(haystack));
} else {
- found = strrchr(Z_STRVAL_P(haystack),
(char)Z_LVAL_P(needle));
+ found = zend_memrchr(Z_STRVAL_P(haystack),
(char)Z_LVAL_P(needle), Z_STRLEN_P(haystack));
}
}
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/strings001.phpt?r1=1.2&r2=1.3&diff_format=u
Index: php-src/ext/standard/tests/strings/strings001.phpt
diff -u php-src/ext/standard/tests/strings/strings001.phpt:1.2
php-src/ext/standard/tests/strings/strings001.phpt:1.3
--- php-src/ext/standard/tests/strings/strings001.phpt:1.2 Sat Oct 26
20:07:49 2002
+++ php-src/ext/standard/tests/strings/strings001.phpt Tue Aug 8 09:48:08 2006
@@ -9,4 +9,7 @@
?>
--EXPECTREGEX--
string\(18\) \"nica\x00turska panica\"
-string\(19\) \" nica\x00turska panica\"
+string\(7\) \" panica\"
+--UEXPECTREGEX--
+unicode\(18\) \"nica\x00turska panica\"
+unicode\(7\) \" panica\"
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php