moriyoshi               Thu Nov 14 16:35:18 2002 EDT

  Modified files:              (Branch: PHP_4_3)
    /php4/ext/mbstring  mbstring.c 
  Log:
  MFH
  
  
Index: php4/ext/mbstring/mbstring.c
diff -u php4/ext/mbstring/mbstring.c:1.142.2.1 php4/ext/mbstring/mbstring.c:1.142.2.2
--- php4/ext/mbstring/mbstring.c:1.142.2.1      Wed Nov 13 18:01:16 2002
+++ php4/ext/mbstring/mbstring.c        Thu Nov 14 16:35:18 2002
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: mbstring.c,v 1.142.2.1 2002/11/13 23:01:16 edink Exp $ */
+/* $Id: mbstring.c,v 1.142.2.2 2002/11/14 21:35:18 moriyoshi Exp $ */
 
 /*
  * PHP4 Multibyte String module "mbstring" (currently only for Japanese)
@@ -3535,17 +3535,26 @@
        char *last=NULL;
 
        if (nbytes == (size_t)-1) {
+               size_t nb = 0;
+
                while (*p != '\0') {
-                       if ((unsigned int)*p == c) {
-                               last = (char *)p;
+                       if (nb == 0) {
+                               if ((unsigned char)*p == (unsigned char)c) {
+                                       last = (char *)p;
+                               }
+                               nb = php_mb_mbchar_bytes_ex(p, enc);
+                               if (nb == 0) {
+                                       return NULL; /* something is going wrong! */
+                               }
                        }
-                       p += php_mb_mbchar_bytes_ex(p, enc);
+                       --nb;
+                       ++p;
                }
        } else {
                register size_t bcnt = nbytes;
                register size_t nbytes_char;
                while (bcnt > 0) {
-                       if ((unsigned int)*p == c) {
+                       if ((unsigned char)*p == (unsigned char)c) {
                                last = (char *)p;
                        }
                        nbytes_char = php_mb_mbchar_bytes_ex(p, enc);



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

Reply via email to