[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 33/34] maint: dfa: simplify multi-byte-related conditionals
From: |
Jim Meyering |
Subject: |
[PATCH 33/34] maint: dfa: simplify multi-byte-related conditionals |
Date: |
Thu, 15 Sep 2011 12:28:16 +0200 |
From: Jim Meyering <address@hidden>
* src/dfa.c (setbit_case_fold_c, parse_bracket_exp, lex):
(addtok_mb, dfaparse): Change each "MBS_SUPPORT && MB_CUR_MAX > 1"
test to just "MB_CUR_MAX > 1".
* src/dfasearch.c (kwsincr_case, EGexecute): Likewise.
* src/kwsearch.c (Fcompile, Fexecute): Likewise.
* src/searchutils.c (kwsinit): Likewise.
* src/dfa.c (parse_bracket_exp): Convert
"if (!MBS_SUPPORT || MB_CUR_MAX <= 1)" to
"if (MB_CUR_MAX <= 1)" and do this:
- assert(!MBS_SUPPORT || MB_CUR_MAX == 1);
+ assert(MB_CUR_MAX == 1);
---
src/dfa.c | 28 ++++++++++++++--------------
src/dfasearch.c | 4 ++--
src/kwsearch.c | 7 +++----
src/searchutils.c | 2 +-
4 files changed, 20 insertions(+), 21 deletions(-)
diff --git a/src/dfa.c b/src/dfa.c
index ba79dde..2dee11b 100644
--- a/src/dfa.c
+++ b/src/dfa.c
@@ -592,7 +592,7 @@ static inline bool setbit_wc (wint_t wc, charclass c) {
abort (); }
static void
setbit_case_fold_c (int b, charclass c)
{
- if (MBS_SUPPORT && MB_CUR_MAX > 1)
+ if (MB_CUR_MAX > 1)
{
wint_t wc = btowc (b);
if (wc == WEOF)
@@ -839,7 +839,7 @@ parse_bracket_exp (void)
/* If pattern contains `[[:', `[[.', or `[[='. */
if (c1 == ':'
/* TODO: handle `[[.' and `[[=' also for MB_CUR_MAX == 1. */
- || (MBS_SUPPORT && MB_CUR_MAX > 1 && (c1 == '.' || c1 == '='))
+ || (MB_CUR_MAX > 1 && (c1 == '.' || c1 == '='))
)
{
size_t len = 0;
@@ -870,7 +870,7 @@ parse_bracket_exp (void)
if (!pred)
dfaerror(_("invalid character class"));
- if (MBS_SUPPORT && MB_CUR_MAX > 1 && !pred->single_byte_only)
+ if (MB_CUR_MAX > 1 && !pred->single_byte_only)
{
/* Store the character class as wctype_t. */
wctype_t wt = wctype (class);
@@ -952,7 +952,7 @@ parse_bracket_exp (void)
&& (syntax_bits & RE_BACKSLASH_ESCAPE_IN_LISTS))
FETCH_WC(c2, wc2, _("unbalanced ["));
- if (MBS_SUPPORT && MB_CUR_MAX > 1)
+ if (MB_CUR_MAX > 1)
{
/* When case folding map a range, say [m-z] (or even [M-z])
to the pair of ranges, [m-z] [M-Z]. */
@@ -1019,7 +1019,7 @@ parse_bracket_exp (void)
colon_warning_state |= (c == ':') ? 2 : 4;
- if (!MBS_SUPPORT || MB_CUR_MAX <= 1)
+ if (MB_CUR_MAX <= 1)
{
setbit_case_fold_c (c, ccl);
continue;
@@ -1052,7 +1052,7 @@ parse_bracket_exp (void)
if (colon_warning_state == 7)
dfawarn (_("character class syntax is [[:space:]], not [:space:]"));
- if (MBS_SUPPORT && MB_CUR_MAX > 1)
+ if (MB_CUR_MAX > 1)
{
static charclass zeroclass;
work_mbc->invert = invert;
@@ -1062,7 +1062,7 @@ parse_bracket_exp (void)
if (invert)
{
- assert(!MBS_SUPPORT || MB_CUR_MAX == 1);
+ assert(MB_CUR_MAX == 1);
notset(ccl);
if (syntax_bits & RE_HAT_LISTS_NOT_NEWLINE)
clrbit(eolbyte, ccl);
@@ -1090,7 +1090,7 @@ lex (void)
"if (backslash) ...". */
for (i = 0; i < 2; ++i)
{
- if (MBS_SUPPORT && MB_CUR_MAX > 1)
+ if (MB_CUR_MAX > 1)
{
FETCH_WC (c, wctok, NULL);
if ((int)c == EOF)
@@ -1319,7 +1319,7 @@ lex (void)
case '.':
if (backslash)
goto normal_char;
- if (MBS_SUPPORT && MB_CUR_MAX > 1)
+ if (MB_CUR_MAX > 1)
{
/* In multibyte environment period must match with a single
character not a byte. So we use ANYCHAR. */
@@ -1372,7 +1372,7 @@ lex (void)
laststart = 0;
/* For multibyte character sets, folding is done in atom. Always
return WCHAR. */
- if (MBS_SUPPORT && MB_CUR_MAX > 1)
+ if (MB_CUR_MAX > 1)
return lasttok = WCHAR;
if (case_fold && isalpha(c))
@@ -1404,7 +1404,7 @@ static int depth; /* Current depth of a
hypothetical stack
static void
addtok_mb (token t, int mbprop)
{
- if (MBS_SUPPORT && MB_CUR_MAX > 1)
+ if (MB_CUR_MAX > 1)
{
REALLOC_IF_NECESSARY(dfa->multibyte_prop, dfa->nmultibyte_prop,
dfa->tindex + 1);
@@ -1443,7 +1443,7 @@ static void addtok_wc (wint_t wc);
static void
addtok (token t)
{
- if (MBS_SUPPORT && MB_CUR_MAX > 1 && t == MBCSET)
+ if (MB_CUR_MAX > 1 && t == MBCSET)
{
bool need_or = false;
struct mb_char_classes *work_mbc = &dfa->mbcsets[dfa->nmbcsets - 1];
@@ -1699,7 +1699,7 @@ copytoks (int tindex, int ntokens)
{
addtok(dfa->tokens[tindex + i]);
/* Update index into multibyte csets. */
- if (MBS_SUPPORT && MB_CUR_MAX > 1 && dfa->tokens[tindex + i] == MBCSET)
+ if (MB_CUR_MAX > 1 && dfa->tokens[tindex + i] == MBCSET)
dfa->multibyte_prop[dfa->tindex - 1] = dfa->multibyte_prop[tindex + i];
}
}
@@ -1783,7 +1783,7 @@ dfaparse (char const *s, size_t len, struct dfa *d)
#ifdef LC_COLLATE
hard_LC_COLLATE = hard_locale (LC_COLLATE);
#endif
- if (MBS_SUPPORT && MB_CUR_MAX > 1)
+ if (MB_CUR_MAX > 1)
{
cur_mb_len = 0;
memset(&mbs, 0, sizeof mbs);
diff --git a/src/dfasearch.c b/src/dfasearch.c
index 68c1966..c6fe1a5 100644
--- a/src/dfasearch.c
+++ b/src/dfasearch.c
@@ -77,7 +77,7 @@ static char const *
kwsincr_case (const char *must)
{
size_t n = strlen (must);
- const char *buf = (MBS_SUPPORT && match_icase && MB_CUR_MAX > 1
+ const char *buf = (match_icase && MB_CUR_MAX > 1
? mbtolower (must, &n)
: must);
return kwsincr (kwset, buf, n);
@@ -214,7 +214,7 @@ EGexecute (char const *buf, size_t size, size_t *match_size,
int backref, start, len, best_len;
struct kwsmatch kwsm;
size_t i, ret_val;
- if (MBS_SUPPORT && MB_CUR_MAX > 1)
+ if (MB_CUR_MAX > 1)
{
if (match_icase)
{
diff --git a/src/kwsearch.c b/src/kwsearch.c
index 8911f3f..a481cfa 100644
--- a/src/kwsearch.c
+++ b/src/kwsearch.c
@@ -34,7 +34,7 @@ Fcompile (char const *pattern, size_t size)
{
char const *err;
size_t psize = size;
- char const *pat = (MBS_SUPPORT && match_icase && MB_CUR_MAX > 1
+ char const *pat = (match_icase && MB_CUR_MAX > 1
? mbtolower (pattern, &psize)
: pattern);
@@ -83,7 +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 && MB_CUR_MAX > 1)
+ if (MB_CUR_MAX > 1)
{
if (match_icase)
{
@@ -100,8 +100,7 @@ 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
- && MB_CUR_MAX > 1
+ if (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
diff --git a/src/searchutils.c b/src/searchutils.c
index e6a5cbb..3b3ae67 100644
--- a/src/searchutils.c
+++ b/src/searchutils.c
@@ -28,7 +28,7 @@ kwsinit (kwset_t *kwset)
static char trans[NCHAR];
int i;
- if (match_icase && MBS_SUPPORT && MB_CUR_MAX == 1)
+ if (match_icase && MB_CUR_MAX == 1)
{
for (i = 0; i < NCHAR; ++i)
trans[i] = tolower (i);
--
1.7.7.rc0.362.g5a14
- [PATCH 10/34] maint: dfa: convert #if-MBS_SUPPORT (dfaexec), (continued)
- [PATCH 17/34] maint: dfa: convert #if-MBS_SUPPORT (dfaparse), Jim Meyering, 2011/09/15
- [PATCH 14/34] maint: dfa: convert #if-MBS_SUPPORT (parse_bracket_exp), Jim Meyering, 2011/09/15
- [PATCH 18/34] maint: dfa: convert #if-MBS_SUPPORT (state_index), Jim Meyering, 2011/09/15
- [PATCH 28/34] maint: dfa: avoid in-function "#if MBS_SUPPORT" tests, Jim Meyering, 2011/09/15
- [PATCH 03/34] maint: convert #if-MBS_SUPPORT (kwsincr_case), Jim Meyering, 2011/09/15
- [PATCH 33/34] maint: dfa: simplify multi-byte-related conditionals,
Jim Meyering <=
- [PATCH 25/34] maint: remove #if MBS_SUPPORT around member declaration, Jim Meyering, 2011/09/15
- [PATCH 12/34] maint: dfa: convert #if-MBS_SUPPORT (parse_bracket_exp), Jim Meyering, 2011/09/15
- [PATCH 23/34] tests: make fmbtest explain (to stderr, not log) why it is skipped, Jim Meyering, 2011/09/15
- [PATCH 31/34] tests: skip sjis-mb when dfa.c is compiled without MB support, Jim Meyering, 2011/09/15
- [PATCH 20/34] maint: dfa: convert #if-MBS_SUPPORT (dfastate), Jim Meyering, 2011/09/15