(simple_search): Fix previous change.
authorKenichi Handa <handa@m17n.org>
Thu, 30 Nov 2006 00:41:33 +0000 (00:41 +0000)
committerKenichi Handa <handa@m17n.org>
Thu, 30 Nov 2006 00:41:33 +0000 (00:41 +0000)
src/search.c

index ce4d182..9aa49af 100644 (file)
@@ -1481,13 +1481,14 @@ simple_search (n, pat, len, len_byte, trt, pos, pos_byte, lim, lim_byte)
          {
            /* Try matching at position POS.  */
            int this_pos = pos - len;
-           int this_pos_byte = CHAR_TO_BYTE (this_pos);
+           int this_pos_byte;
            int this_len = len;
            int this_len_byte = len_byte;
            unsigned char *p = pat;
 
-           if (this_pos < lim || this_pos_byte < lim_byte)
+           if (this_pos < lim || (pos_byte - len_byte) < lim_byte)
              goto stop;
+           this_pos_byte = CHAR_TO_BYTE (this_pos);
            match_byte = pos_byte - this_pos_byte;
 
            while (this_len > 0)