fujimoto                Fri Apr 22 01:03:25 2005 EDT

  Modified files:              (Branch: PHP_5_0)
    /php-src/ext/mbstring/libmbfl/mbfl  mbfilter.c 
  Log:
  - MFH: Fix mbfl_encoding_detector_feed() and mbfl_mbfl_identify_encoding() 
behaviour
  
  
http://cvs.php.net/diff.php/php-src/ext/mbstring/libmbfl/mbfl/mbfilter.c?r1=1.2.2.6&r2=1.2.2.7&ty=u
Index: php-src/ext/mbstring/libmbfl/mbfl/mbfilter.c
diff -u php-src/ext/mbstring/libmbfl/mbfl/mbfilter.c:1.2.2.6 
php-src/ext/mbstring/libmbfl/mbfl/mbfilter.c:1.2.2.7
--- php-src/ext/mbstring/libmbfl/mbfl/mbfilter.c:1.2.2.6        Wed Apr 13 
06:10:54 2005
+++ php-src/ext/mbstring/libmbfl/mbfl/mbfilter.c        Fri Apr 22 01:03:25 2005
@@ -405,16 +405,16 @@
                num = identd->filter_list_size;
                n = string->len;
                p = string->val;
+               bad = 0;
                while (n > 0) {
-                       i = 0;
-                       bad = 0;
-                       while (i < num) {
+                       for (i = 0; i < num; i++) {
                                filter = identd->filter_list[i];
-                               (*filter->filter_function)(*p, filter);
-                               if (filter->flag) {
-                                       bad++;
+                               if (!filter->flag) {
+                                       (*filter->filter_function)(*p, filter);
+                                       if (filter->flag) {
+                                               bad++;
+                                       }
                                }
-                               i++;
                        }
                        if ((num - 1) <= bad) {
                                res = 1;
@@ -555,9 +555,11 @@
                while (n > 0) {
                        for (i = 0; i < num; i++) {
                                filter = &flist[i];
-                               (*filter->filter_function)(*p, filter);
-                               if (filter->flag) {
-                                       bad++;
+                               if (!filter->flag) {
+                                       (*filter->filter_function)(*p, filter);
+                                       if (filter->flag) {
+                                               bad++;
+                                       }
                                }
                        }
                        if ((num - 1) <= bad && !strict) {
@@ -571,7 +573,7 @@
        /* judge */
        encoding = NULL;
 
-       for (i = num; --i >= 0;) {
+       for (i = 0; i < num; i++) {
                filter = &flist[i];
                if (!filter->flag) {
                        encoding = filter->encoding;

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

Reply via email to