Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitc89f409

Browse files
committed
plperl: windows: Use Perl_setlocale on 5.28+, fixing compile failure.
For older versions we need our own copy of perl's setlocale(), because it wasnot exposed (why we need the setlocale in the first place is explained inplperl_init_interp) . The copy stopped working in 5.28, as some of the usedmacros are not public anymore. But Perl_setlocale is available in 5.28, souse that.Author: Victor Wagner <vitus@wagner.pp.ru>Reviewed-By: Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>Discussion:https://postgr.es/m/20200501134711.08750c5f@antares.wagner.homeBackpatch: all versions
1 parentd10e41d commitc89f409

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

‎src/pl/plperl/plperl.c

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -298,9 +298,11 @@ static char *strip_trailing_ws(const char *msg);
298298
staticOP*pp_require_safe(pTHX);
299299
staticvoidactivate_interpreter(plperl_interp_desc*interp_desc);
300300

301-
#ifdefWIN32
301+
#if defined(WIN32)&&PERL_VERSION_LT(5,28,0)
302302
staticchar*setlocale_perl(intcategory,char*locale);
303-
#endif
303+
#else
304+
#definesetlocale_perl(a,b) Perl_setlocale(a,b)
305+
#endif/* defined(WIN32) && PERL_VERSION_LT(5, 28, 0) */
304306

305307
/*
306308
* Decrement the refcount of the given SV within the active Perl interpreter
@@ -4130,8 +4132,10 @@ plperl_inline_callback(void *arg)
41304132
/*
41314133
* Perl's own setlocale(), copied from POSIX.xs
41324134
* (needed because of the calls to new_*())
4135+
*
4136+
* Starting in 5.28, perl exposes Perl_setlocale to do so.
41334137
*/
4134-
#ifdefWIN32
4138+
#if defined(WIN32)&&PERL_VERSION_LT(5,28,0)
41354139
staticchar*
41364140
setlocale_perl(intcategory,char*locale)
41374141
{
@@ -4199,5 +4203,4 @@ setlocale_perl(int category, char *locale)
41994203

42004204
returnRETVAL;
42014205
}
4202-
4203-
#endif/* WIN32 */
4206+
#endif/* defined(WIN32) && PERL_VERSION_LT(5, 28, 0) */

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp