iliaa           Sun Jun 19 12:31:52 2005 EDT

  Modified files:              
    /php-src/ext/standard       string.c 
  Log:
  make substr_count() 30% when counting instances of 1 byte long strings.
  
  
http://cvs.php.net/diff.php/php-src/ext/standard/string.c?r1=1.440&r2=1.441&ty=u
Index: php-src/ext/standard/string.c
diff -u php-src/ext/standard/string.c:1.440 php-src/ext/standard/string.c:1.441
--- php-src/ext/standard/string.c:1.440 Sat Jun 18 14:23:12 2005
+++ php-src/ext/standard/string.c       Sun Jun 19 12:31:51 2005
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: string.c,v 1.440 2005/06/18 18:23:12 iliaa Exp $ */
+/* $Id: string.c,v 1.441 2005/06/19 16:31:51 iliaa Exp $ */
 
 /* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */
 
@@ -4463,11 +4463,10 @@
        
        if (Z_STRLEN_PP(needle) == 1) {
                cmp = Z_STRVAL_PP(needle)[0];
-       
-               while (p < endp) {
-                       if (*(p++) == cmp) {
-                               count++;        
-                       }
+
+               while ((p = memchr(p, cmp, endp - p))) {
+                       count++;
+                       p++;
                }
        } else {
                while ((p = php_memnstr(p, Z_STRVAL_PP(needle), 
Z_STRLEN_PP(needle), endp))) {

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to