summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJim Meyering <meyering@redhat.com>2010-04-01 17:10:46 +0200
committerJim Meyering <meyering@redhat.com>2011-09-16 10:30:38 +0200
commite953c21785007e949474cde75f33f5eec912629c (patch)
treee314dae8d304c6c9f25d6e88e8ffc7aee0a2dfd3 /src
parent78986faf0d25346468d5d8ff8cc34e6825da816e (diff)
downloadgrep-e953c21785007e949474cde75f33f5eec912629c.tar.gz
maint: convert #if-MBS_SUPPORT (Fcompile, etc.)
* src/kwsearch.c (Fcompile, Fexecute): Remove in-function #if MBS_SUPPORT. (Fcompile): Rearrange some declarations. No semantic change.
Diffstat (limited to 'src')
-rw-r--r--src/kwsearch.c29
1 files changed, 12 insertions, 17 deletions
diff --git a/src/kwsearch.c b/src/kwsearch.c
index ead4a0e3..8911f3f3 100644
--- a/src/kwsearch.c
+++ b/src/kwsearch.c
@@ -32,21 +32,19 @@ static kwset_t kwset;
void
Fcompile (char const *pattern, size_t size)
{
- char const *beg, *end, *lim, *err, *pat;
- size_t psize;
+ char const *err;
+ size_t psize = size;
+ char const *pat = (MBS_SUPPORT && match_icase && MB_CUR_MAX > 1
+ ? mbtolower (pattern, &psize)
+ : pattern);
kwsinit (&kwset);
- psize = size;
-#if MBS_SUPPORT
- if (match_icase && MB_CUR_MAX > 1)
- pat = mbtolower (pattern, &psize);
- else
-#endif
- pat = pattern;
- beg = pat;
+ char const *beg = pat;
do
{
+ char const *lim;
+ char const *end;
for (lim = beg;; ++lim)
{
end = lim;
@@ -85,8 +83,7 @@ Fexecute (char const *buf, size_t size, size_t *match_size,
char eol = eolbyte;
struct kwsmatch kwsmatch;
size_t ret_val;
-#if MBS_SUPPORT
- if (MB_CUR_MAX > 1)
+ if (MBS_SUPPORT && MB_CUR_MAX > 1)
{
if (match_icase)
{
@@ -96,7 +93,6 @@ Fexecute (char const *buf, size_t size, size_t *match_size,
buf = case_buf;
}
}
-#endif /* MBS_SUPPORT */
for (mb_start = beg = start_ptr ? start_ptr : buf; beg <= buf + size; beg++)
{
@@ -104,9 +100,9 @@ Fexecute (char const *buf, size_t size, size_t *match_size,
if (offset == (size_t) -1)
goto failure;
len = kwsmatch.size[0];
-#if MBS_SUPPORT
- if (MB_CUR_MAX > 1 && is_mb_middle (&mb_start, beg + offset, buf + size,
- len))
+ if (MBS_SUPPORT
+ && MB_CUR_MAX > 1
+ && is_mb_middle (&mb_start, beg + offset, buf + size, len))
{
/* The match was a part of multibyte character, advance at least
one byte to ensure no infinite loop happens. */
@@ -120,7 +116,6 @@ Fexecute (char const *buf, size_t size, size_t *match_size,
beg += mb_len - 1;
continue;
}
-#endif /* MBS_SUPPORT */
beg += offset;
if (start_ptr && !match_words)
goto success_in_beg_and_len;