[!emacs] (SWITCH_ENUM_CAST): New macro, from emacs/lisp.h
authorKarl Heuer <kwzh@gnu.org>
Wed, 18 Jan 1995 20:47:36 +0000 (20:47 +0000)
committerKarl Heuer <kwzh@gnu.org>
Wed, 18 Jan 1995 20:47:36 +0000 (20:47 +0000)
(re_compile_fastmap, re_match_2_internal): Use that macro instead of testing
SWITCH_ENUM_BUG.

regex.c

diff --git a/regex.c b/regex.c
index 9e373a97f466914252fae16f1b738ef7de5c72bd..645b661c208e0dc93646a48de97dabd9d01ccd8b 100644 (file)
--- a/regex.c
+++ b/regex.c
@@ -86,6 +86,12 @@ char *realloc ();
 #define Sword 1
 #endif
 
+#ifdef SWITCH_ENUM_BUG
+#define SWITCH_ENUM_CAST(x) ((int)(x))
+#else
+#define SWITCH_ENUM_CAST(x) (x)
+#endif
+
 #ifdef SYNTAX_TABLE
 
 extern char *re_syntax_table;
@@ -2813,11 +2819,7 @@ re_compile_fastmap (bufp)
       /* We should never be about to go beyond the end of the pattern.  */
       assert (p < pend);
       
-#ifdef SWITCH_ENUM_BUG
-      switch ((int) ((re_opcode_t) *p++))
-#else
-      switch ((re_opcode_t) *p++)
-#endif
+      switch (SWITCH_ENUM_CAST ((re_opcode_t) *p++))
        {
 
         /* I guess the idea here is to simply not bother with a fastmap
@@ -3770,11 +3772,7 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop)
         }
 
       /* Otherwise match next pattern command.  */
-#ifdef SWITCH_ENUM_BUG
-      switch ((int) ((re_opcode_t) *p++))
-#else
-      switch ((re_opcode_t) *p++)
-#endif
+      switch (SWITCH_ENUM_CAST ((re_opcode_t) *p++))
        {
         /* Ignore these.  Used to ignore the n of succeed_n's which
            currently have n == 0.  */