summaryrefslogtreecommitdiff
path: root/src/pl/plperl/plperl.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pl/plperl/plperl.c')
-rw-r--r--src/pl/plperl/plperl.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c
index afebec910d6..6e557fb3363 100644
--- a/src/pl/plperl/plperl.c
+++ b/src/pl/plperl/plperl.c
@@ -300,9 +300,11 @@ static char *strip_trailing_ws(const char *msg);
static OP *pp_require_safe(pTHX);
static void activate_interpreter(plperl_interp_desc *interp_desc);
-#ifdef WIN32
+#if defined(WIN32) && PERL_VERSION_LT(5, 28, 0)
static char *setlocale_perl(int category, char *locale);
-#endif
+#else
+#define setlocale_perl(a,b) Perl_setlocale(a,b)
+#endif /* defined(WIN32) && PERL_VERSION_LT(5, 28, 0) */
/*
* Decrement the refcount of the given SV within the active Perl interpreter
@@ -4034,8 +4036,10 @@ plperl_inline_callback(void *arg)
/*
* Perl's own setlocale(), copied from POSIX.xs
* (needed because of the calls to new_*())
+ *
+ * Starting in 5.28, perl exposes Perl_setlocale to do so.
*/
-#ifdef WIN32
+#if defined(WIN32) && PERL_VERSION_LT(5, 28, 0)
static char *
setlocale_perl(int category, char *locale)
{
@@ -4103,5 +4107,4 @@ setlocale_perl(int category, char *locale)
return RETVAL;
}
-
-#endif /* WIN32 */
+#endif /* defined(WIN32) && PERL_VERSION_LT(5, 28, 0) */