bug-grep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 02/34] maint: convert #if-MBS_SUPPORT (Fcompile, etc.)


From: Jim Meyering
Subject: [PATCH 02/34] maint: convert #if-MBS_SUPPORT (Fcompile, etc.)
Date: Thu, 15 Sep 2011 12:27:45 +0200

From: Jim Meyering <address@hidden>

* src/kwsearch.c (Fcompile, Fexecute): Remove in-function #if MBS_SUPPORT.
(Fcompile): Rearrange some declarations.  No semantic change.
---
 src/kwsearch.c |   29 ++++++++++++-----------------
 1 files changed, 12 insertions(+), 17 deletions(-)

diff --git a/src/kwsearch.c b/src/kwsearch.c
index ead4a0e..8911f3f 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;
-- 
1.7.7.rc0.362.g5a14




reply via email to

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