diff options
Diffstat (limited to 'src/kwsearch.c')
-rw-r--r-- | src/kwsearch.c | 94 |
1 files changed, 47 insertions, 47 deletions
diff --git a/src/kwsearch.c b/src/kwsearch.c index 1da66238..b03ff0cd 100644 --- a/src/kwsearch.c +++ b/src/kwsearch.c @@ -48,26 +48,26 @@ Fcompile (char const *pattern, size_t size) do { for (lim = beg;; ++lim) - { - end = lim; - if (lim >= pat + psize) - break; - if (*lim == '\n') - { - lim++; - break; - } + { + end = lim; + if (lim >= pat + psize) + break; + if (*lim == '\n') + { + lim++; + break; + } #if HAVE_DOS_FILE_CONTENTS - if (*lim == '\r' && lim + 1 < pat + psize && lim[1] == '\n') - { - lim += 2; - break; - } + if (*lim == '\r' && lim + 1 < pat + psize && lim[1] == '\n') + { + lim += 2; + break; + } #endif - } + } if ((err = kwsincr (kwset, beg, end - beg)) != NULL) - error (EXIT_TROUBLE, 0, "%s", err); + error (EXIT_TROUBLE, 0, "%s", err); beg = lim; } while (beg < pat + psize); @@ -78,7 +78,7 @@ Fcompile (char const *pattern, size_t size) size_t Fexecute (char const *buf, size_t size, size_t *match_size, - char const *start_ptr) + char const *start_ptr) { char const *beg, *try, *end, *mb_start; size_t len; @@ -91,8 +91,8 @@ Fexecute (char const *buf, size_t size, size_t *match_size, if (match_icase) { char *case_buf = mbtolower (buf, &size); - if (start_ptr) - start_ptr = case_buf + (start_ptr - buf); + if (start_ptr) + start_ptr = case_buf + (start_ptr - buf); buf = case_buf; } } @@ -102,11 +102,11 @@ Fexecute (char const *buf, size_t size, size_t *match_size, { size_t offset = kwsexec (kwset, beg, buf + size - beg, &kwsmatch); if (offset == (size_t) -1) - goto failure; + goto failure; len = kwsmatch.size[0]; #if MBS_SUPPORT if (MB_CUR_MAX > 1 && is_mb_middle (&mb_start, beg + offset, buf + size, - len)) + len)) { /* The match was a part of multibyte character, advance at least one byte to ensure no infinite loop happens. */ @@ -123,35 +123,35 @@ Fexecute (char const *buf, size_t size, size_t *match_size, #endif /* MBS_SUPPORT */ beg += offset; if (start_ptr && !match_words) - goto success_in_beg_and_len; + goto success_in_beg_and_len; if (match_lines) - { - if (beg > buf && beg[-1] != eol) - continue; - if (beg + len < buf + size && beg[len] != eol) - continue; - goto success; - } + { + if (beg > buf && beg[-1] != eol) + continue; + if (beg + len < buf + size && beg[len] != eol) + continue; + goto success; + } else if (match_words) - for (try = beg; len; ) - { - if (try > buf && WCHAR((unsigned char) try[-1])) - break; - if (try + len < buf + size && WCHAR((unsigned char) try[len])) - { - offset = kwsexec (kwset, beg, --len, &kwsmatch); - if (offset == (size_t) -1) - break; - try = beg + offset; - len = kwsmatch.size[0]; - } - else if (!start_ptr) - goto success; - else - goto success_in_beg_and_len; - } /* for (try) */ + for (try = beg; len; ) + { + if (try > buf && WCHAR((unsigned char) try[-1])) + break; + if (try + len < buf + size && WCHAR((unsigned char) try[len])) + { + offset = kwsexec (kwset, beg, --len, &kwsmatch); + if (offset == (size_t) -1) + break; + try = beg + offset; + len = kwsmatch.size[0]; + } + else if (!start_ptr) + goto success; + else + goto success_in_beg_and_len; + } /* for (try) */ else - goto success; + goto success; } /* for (beg in buf) */ failure: |