summaryrefslogtreecommitdiff
path: root/vutil.h
diff options
context:
space:
mode:
Diffstat (limited to 'vutil.h')
-rw-r--r--vutil.h47
1 files changed, 27 insertions, 20 deletions
diff --git a/vutil.h b/vutil.h
index 193c66d561..ffeb05cae3 100644
--- a/vutil.h
+++ b/vutil.h
@@ -226,33 +226,40 @@ const char * Perl_prescan_version(pTHX_ const char *s, bool strict, const char**
#if PERL_VERSION_LT(5,27,9)
# define LC_NUMERIC_LOCK
# define LC_NUMERIC_UNLOCK
-# if PERL_VERSION_LT(5,19,0)
-# undef STORE_LC_NUMERIC_SET_STANDARD
-# undef RESTORE_LC_NUMERIC
-# undef DECLARATION_FOR_LC_NUMERIC_MANIPULATION
-# ifdef USE_LOCALE
-# define DECLARATION_FOR_LC_NUMERIC_MANIPULATION char *loc
-# define STORE_NUMERIC_SET_STANDARD()\
- loc = savepv(setlocale(LC_NUMERIC, NULL)); \
- SAVEFREEPV(loc); \
- setlocale(LC_NUMERIC, "C");
-
-# define RESTORE_LC_NUMERIC()\
- setlocale(LC_NUMERIC, loc);
-# else
-# define DECLARATION_FOR_LC_NUMERIC_MANIPULATION
-# define STORE_LC_NUMERIC_SET_STANDARD()
-# define RESTORE_LC_NUMERIC()
-# endif
+# if PERL_VERSION_LT(5,19,0)
+# undef STORE_LC_NUMERIC_SET_STANDARD
+# undef RESTORE_LC_NUMERIC
+# undef DECLARATION_FOR_LC_NUMERIC_MANIPULATION
+# ifdef USE_LOCALE
+# define DECLARATION_FOR_LC_NUMERIC_MANIPULATION char *loc
+# define STORE_NUMERIC_SET_STANDARD()\
+ loc = savepv(setlocale(LC_NUMERIC, NULL)); \
+ SAVEFREEPV(loc); \
+ setlocale(LC_NUMERIC, "C");
+# define RESTORE_LC_NUMERIC()\
+ setlocale(LC_NUMERIC, loc);
+# else
+# define DECLARATION_FOR_LC_NUMERIC_MANIPULATION
+# define STORE_LC_NUMERIC_SET_STANDARD()
+# define RESTORE_LC_NUMERIC()
+# endif
# endif
#endif
#ifndef LOCK_NUMERIC_STANDARD
-#define LOCK_NUMERIC_STANDARD()
+# define LOCK_NUMERIC_STANDARD()
#endif
#ifndef UNLOCK_NUMERIC_STANDARD
-#define UNLOCK_NUMERIC_STANDARD()
+# define UNLOCK_NUMERIC_STANDARD()
+#endif
+
+/* The names of these changed in 5.28 */
+#ifndef LOCK_LC_NUMERIC_STANDARD
+# define LOCK_LC_NUMERIC_STANDARD() LOCK_NUMERIC_STANDARD()
+#endif
+#ifndef UNLOCK_LC_NUMERIC_STANDARD
+# define UNLOCK_LC_NUMERIC_STANDARD() UNLOCK_NUMERIC_STANDARD()
#endif
/* ex: set ro: */