bug-grep
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]