Centralize definitions of MIN, MAX blead
authorKarl Williamson <khw@cpan.org>
Wed, 21 Sep 2016 22:15:08 +0000 (16:15 -0600)
committerKarl Williamson <khw@cpan.org>
Mon, 26 Sep 2016 04:24:20 +0000 (22:24 -0600)
Instead of having each file have them, keep them in handy.h, but only
for core compilations.

handy.h
regcomp.c
utf8.c

index 5428d7c..11009d3 100644 (file)
--- a/handy.h
+++ b/handy.h
@@ -277,6 +277,15 @@ typedef U64TYPE U64;
 /* Unused by core; should be deprecated */
 #define Ctl(ch) ((ch) & 037)
 
+#if defined(PERL_CORE) || defined(PERL_EXT)
+#  ifndef MIN
+#    define MIN(a,b) ((a) < (b) ? (a) : (b))
+#  endif
+#  ifndef MAX
+#    define MAX(a,b) ((a) > (b) ? (a) : (b))
+#  endif
+#endif
+
 /* This is a helper macro to avoid preprocessor issues, replaced by nothing
  * unless under DEBUGGING, where it expands to an assert of its argument,
  * followed by a comma (hence the comma operator).  If we just used a straight
index b00b385..634a320 100644 (file)
--- a/regcomp.c
+++ b/regcomp.c
@@ -101,14 +101,6 @@ EXTERN_C const struct regexp_engine my_reg_engine;
 #define        STATIC  static
 #endif
 
-#ifndef MIN
-#define MIN(a,b) ((a) < (b) ? (a) : (b))
-#endif
-
-#ifndef MAX
-#define MAX(a,b) ((a) > (b) ? (a) : (b))
-#endif
-
 /* this is a chain of data about sub patterns we are processing that
    need to be handled separately/specially in study_chunk. Its so
    we can simulate recursion without losing state.  */
diff --git a/utf8.c b/utf8.c
index 5fdaf52..7f8df9d 100644 (file)
--- a/utf8.c
+++ b/utf8.c
@@ -381,9 +381,6 @@ S_is_utf8_cp_above_31_bits(const U8 * const s, const U8 * const e)
      */
 
 #ifdef EBCDIC
-#  ifndef MIN
-#    define MIN(a,b) ((a) < (b) ? (a) : (b))
-#  endif
 
         /* [0] is start byte    [1] [2] [3] [4] [5] [6] [7] */
     const U8 * const prefix = "\x41\x41\x41\x41\x41\x41\x42";