X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/14f3031b13a4d4c094ca37dc42e1cbb34863a050..efa23af5b086fff8cd108299a6ca6e4913fe0c15:/vutil.h diff --git a/vutil.h b/vutil.h index a60ca9d..ffeb05c 100644 --- a/vutil.h +++ b/vutil.h @@ -115,7 +115,7 @@ S_croak_xs_usage(pTHX_ const CV *const cv, const char *const params) Perl_croak_nocontext("Usage: %s(%s)", gvname, params); } else { /* Pants. I don't think that it should be possible to get here. */ - Perl_croak_nocontext("Usage: CODE(0x%"UVxf")(%s)", PTR2UV(cv), params); + Perl_croak_nocontext("Usage: CODE(0x%" UVxf ")(%s)", PTR2UV(cv), params); } } @@ -223,29 +223,43 @@ const char * Perl_prescan_version(pTHX_ const char *s, bool strict, const char** #endif -#if PERL_VERSION_LT(5,19,0) -# undef STORE_NUMERIC_LOCAL_SET_STANDARD -# undef RESTORE_NUMERIC_LOCAL -# ifdef USE_LOCALE -# define STORE_NUMERIC_LOCAL_SET_STANDARD()\ - char *loc = savepv(setlocale(LC_NUMERIC, NULL)); \ - SAVEFREEPV(loc); \ - setlocale(LC_NUMERIC, "C"); - -# define RESTORE_NUMERIC_LOCAL()\ - setlocale(LC_NUMERIC, loc); -# else -# define STORE_NUMERIC_LOCAL_SET_STANDARD() -# define RESTORE_NUMERIC_LOCAL() -# endif +#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 +# 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: */