grep-commit
[Top][All Lists]
Advanced

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

grep branch, master, updated. v2.16-13-gc5cb52e


From: Jim Meyering
Subject: grep branch, master, updated. v2.16-13-gc5cb52e
Date: Sat, 01 Feb 2014 16:49:08 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "grep".

The branch, master has been updated
       via  c5cb52ecb97af4bf052e1c1366b8eb93a54ba6a0 (commit)
      from  c28c90bc17b61e355bbad757e26a7027feb57fe1 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.savannah.gnu.org/cgit/grep.git/commit/?id=c5cb52ecb97af4bf052e1c1366b8eb93a54ba6a0


commit c5cb52ecb97af4bf052e1c1366b8eb93a54ba6a0
Author: Jim Meyering <address@hidden>
Date:   Thu Jan 30 13:03:26 2014 -0800

    maint: use to_uchar function rather than explicit casts
    
    * src/system.h (to_uchar): Define function.
    * src/kwsearch.c (Fexecute): Use to_uchar twice in place of casts.
    * src/dfasearch.c (EGexecute): Likewise.
    * src/main.c (prepend_args): Likewise.
    * src/kwset.c (U): Define in terms of to_uchar.
    * src/dfa.c (match_mb_charset): Use to_uchar, not an explicit cast.

diff --git a/src/dfa.c b/src/dfa.c
index b79c604..f7453c7 100644
--- a/src/dfa.c
+++ b/src/dfa.c
@@ -3003,7 +3003,7 @@ match_mb_charset (struct dfa *d, state_num s, position 
pos, size_t idx)
 
   /* Match in range 0-255?  */
   if (wc < NOTCHAR && work_mbc->cset != -1
-      && tstbit ((unsigned char) wc, d->charclasses[work_mbc->cset]))
+      && tstbit (to_uchar (wc), d->charclasses[work_mbc->cset]))
     goto charset_matched;
 
   /* match with a character class?  */
diff --git a/src/dfasearch.c b/src/dfasearch.c
index 37b6acb..0b56960 100644
--- a/src/dfasearch.c
+++ b/src/dfasearch.c
@@ -325,9 +325,9 @@ EGexecute (char const *buf, size_t size, size_t *match_size,
                 while (match <= best_match)
                   {
                     regoff_t shorter_len = 0;
-                    if ((match == buf || !WCHAR ((unsigned char) match[-1]))
+                    if ((match == buf || !WCHAR (to_uchar (match[-1])))
                         && (start + len == end - buf - 1
-                            || !WCHAR ((unsigned char) match[len])))
+                            || !WCHAR (to_uchar (match[len]))))
                       goto assess_pattern_match;
                     if (len > 0)
                       {
diff --git a/src/kwsearch.c b/src/kwsearch.c
index 5d57639..643c6d8 100644
--- a/src/kwsearch.c
+++ b/src/kwsearch.c
@@ -130,9 +130,9 @@ Fexecute (char const *buf, size_t size, size_t *match_size,
       else if (match_words)
         for (try = beg; ; )
           {
-            if (try > buf && WCHAR((unsigned char) try[-1]))
+            if (try > buf && WCHAR(to_uchar (try[-1])))
               break;
-            if (try + len < buf + size && WCHAR((unsigned char) try[len]))
+            if (try + len < buf + size && WCHAR(to_uchar (try[len])))
               {
                 if (!len)
                   break;
diff --git a/src/kwset.c b/src/kwset.c
index 901e122..410e046 100644
--- a/src/kwset.c
+++ b/src/kwset.c
@@ -47,7 +47,7 @@
 #define obstack_chunk_alloc malloc
 #define obstack_chunk_free free
 
-#define U(c) ((unsigned char) (c))
+#define U(c) (to_uchar (c))
 
 /* Balanced tree of edges and labels leaving a given trie node. */
 struct tree
diff --git a/src/main.c b/src/main.c
index 3f16061..42f9ff3 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1700,7 +1700,7 @@ prepend_args (char const *options, char *buf, char **argv)
 
   for (;;)
     {
-      while (c_isspace ((unsigned char) *o))
+      while (c_isspace (to_uchar (*o)))
         o++;
       if (!*o)
         return n;
@@ -1711,7 +1711,7 @@ prepend_args (char const *options, char *buf, char **argv)
       do
         if ((*b++ = *o++) == '\\' && *o)
           b[-1] = *o++;
-      while (*o && ! c_isspace ((unsigned char) *o));
+      while (*o && ! c_isspace (to_uchar (*o)));
 
       *b++ = '\0';
     }
diff --git a/src/system.h b/src/system.h
index b07471b..4c85409 100644
--- a/src/system.h
+++ b/src/system.h
@@ -55,4 +55,13 @@ enum { EXIT_TROUBLE = 2 };
 
 #define STREQ(a, b) (strcmp (a, b) == 0)
 
+/* Convert a possibly-signed character to an unsigned character.  This is
+   a bit safer than casting to unsigned char, since it catches some type
+   errors that the cast doesn't.  */
+static inline unsigned char
+to_uchar (char ch)
+{
+  return ch;
+}
+
 #endif

-----------------------------------------------------------------------

Summary of changes:
 src/dfa.c       |    2 +-
 src/dfasearch.c |    4 ++--
 src/kwsearch.c  |    4 ++--
 src/kwset.c     |    2 +-
 src/main.c      |    4 ++--
 src/system.h    |    9 +++++++++
 6 files changed, 17 insertions(+), 8 deletions(-)


hooks/post-receive
-- 
grep



reply via email to

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