[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 3/3] dfa/grep: fix compilation with MBS_SUPPORT
From: |
Paolo Bonzini |
Subject: |
[PATCH 3/3] dfa/grep: fix compilation with MBS_SUPPORT |
Date: |
Wed, 24 Mar 2010 16:18:06 +0100 |
From: Norihirio Tanaka <address@hidden>
* src/dfa.c (cur_mb_len): Initialize to 1 and always make it available.
(parse_bracket_exp): Fix compilation with !MBS_SUPPORT.
* src/kwsearch.c (kwsinit): Do not use mbtolower and MB_CUR_MAX
if !MBS_SUPPORT.
* src/searchutils.c (kwsinit): Do not refer to MB_CUR_MAX if !MBS_SUPPORT.
---
src/dfa.c | 12 ++++++++----
src/kwsearch.c | 2 ++
src/searchutils.c | 6 +++++-
3 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/src/dfa.c b/src/dfa.c
index 9aa2bdc..e2e45fd 100644
--- a/src/dfa.c
+++ b/src/dfa.c
@@ -309,11 +309,11 @@ static int parens; /* Count of outstanding
left parens. */
static int minrep, maxrep; /* Repeat counts for {m,n}. */
static int hard_LC_COLLATE; /* Nonzero if LC_COLLATE is hard. */
+static int cur_mb_len = 1; /* Length of the multibyte representation of
+ wctok. */
#ifdef MBS_SUPPORT
/* These variables are used only if (MB_CUR_MAX > 1). */
static mbstate_t mbs; /* Mbstate for mbrlen(). */
-static int cur_mb_len; /* Length of the multibyte representation of
- wctok. */
static wchar_t wctok; /* Wide character representation of the current
multibyte character. */
static unsigned char *mblen_buf;/* Correspond to the input buffer in dfaexec().
@@ -719,10 +719,14 @@ parse_bracket_exp (void)
work_mbc->nchars + 1);
work_mbc->chars[work_mbc->nchars++] = wc;
}
-#endif
}
+#endif
}
- while ((wc = wc1, (c = c1) != L']'));
+ while ((
+#ifdef MBS_SUPPORT
+ wc = wc1,
+#endif
+ (c = c1) != ']'));
#ifdef MBS_SUPPORT
if (MB_CUR_MAX > 1
diff --git a/src/kwsearch.c b/src/kwsearch.c
index 2f8e7b7..fa801e6 100644
--- a/src/kwsearch.c
+++ b/src/kwsearch.c
@@ -37,9 +37,11 @@ Fcompile (char const *pattern, size_t size)
kwsinit (&kwset);
psize = size;
+#ifdef MBS_SUPPORT
if (match_icase && MB_CUR_MAX > 1)
pat = mbtolower (pattern, &psize);
else
+#endif
pat = pattern;
beg = pat;
diff --git a/src/searchutils.c b/src/searchutils.c
index 960e3ba..88c87a8 100644
--- a/src/searchutils.c
+++ b/src/searchutils.c
@@ -27,7 +27,11 @@ kwsinit (kwset_t *kwset)
static char trans[NCHAR];
int i;
- if (match_icase && MB_CUR_MAX == 1)
+ if (match_icase
+#ifdef MBS_SUPPORT
+ && MB_CUR_MAX == 1
+#endif
+ )
{
for (i = 0; i < NCHAR; ++i)
trans[i] = TOLOWER (i);
--
1.6.6.1