hirokawa                Sun Aug 19 01:58:39 2007 UTC

  Modified files:              (Branch: PHP_5_2)
    /php-src/ext/mbstring/libmbfl/mbfl  mbfilter.c 
  Log:
  MFH (fixed #42085)
  
http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/libmbfl/mbfl/mbfilter.c?r1=1.7.2.5&r2=1.7.2.5.2.1&diff_format=u
Index: php-src/ext/mbstring/libmbfl/mbfl/mbfilter.c
diff -u php-src/ext/mbstring/libmbfl/mbfl/mbfilter.c:1.7.2.5 
php-src/ext/mbstring/libmbfl/mbfl/mbfilter.c:1.7.2.5.2.1
--- php-src/ext/mbstring/libmbfl/mbfl/mbfilter.c:1.7.2.5        Tue Mar 21 
07:56:28 2006
+++ php-src/ext/mbstring/libmbfl/mbfl/mbfilter.c        Sun Aug 19 01:58:39 2007
@@ -858,7 +858,7 @@
     int offset,
     int reverse)
 {
-       int n, result;
+       int n, result, negative_offset = 0;
        unsigned char *p;
        mbfl_convert_filter *filter;
        struct collector_strpos_data pc;
@@ -904,6 +904,12 @@
                mbfl_wchar_device_clear(&pc.needle);
                return -4;
        }
+
+       if (offset < 0) {
+               negative_offset = -offset-1;
+               offset = 0;
+       }
+
        pc.start = offset;
        pc.output = 0;
        pc.needle_pos = 0;
@@ -912,7 +918,7 @@
 
        /* feed data */
        p = haystack->val;
-       n = haystack->len;
+       n = haystack->len - negative_offset;
        if (p != NULL) {
                while (n > 0) {
                        if ((*filter->filter_function)(*p++, filter) < 0) {

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

Reply via email to