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

Commitf173738

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 parent4b8af2b commitf173738

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
@@ -299,9 +299,11 @@ static char *strip_trailing_ws(const char *msg);
299299
staticOP*pp_require_safe(pTHX);
300300
staticvoidactivate_interpreter(plperl_interp_desc*interp_desc);
301301

302-
#ifdefWIN32
302+
#if defined(WIN32)&&PERL_VERSION_LT(5,28,0)
303303
staticchar*setlocale_perl(intcategory,char*locale);
304-
#endif
304+
#else
305+
#definesetlocale_perl(a,b) Perl_setlocale(a,b)
306+
#endif/* defined(WIN32) && PERL_VERSION_LT(5, 28, 0) */
305307

306308
/*
307309
* Decrement the refcount of the given SV within the active Perl interpreter
@@ -4157,8 +4159,10 @@ plperl_inline_callback(void *arg)
41574159
/*
41584160
* Perl's own setlocale(), copied from POSIX.xs
41594161
* (needed because of the calls to new_*())
4162+
*
4163+
* Starting in 5.28, perl exposes Perl_setlocale to do so.
41604164
*/
4161-
#ifdefWIN32
4165+
#if defined(WIN32)&&PERL_VERSION_LT(5,28,0)
41624166
staticchar*
41634167
setlocale_perl(intcategory,char*locale)
41644168
{
@@ -4226,5 +4230,4 @@ setlocale_perl(int category, char *locale)
42264230

42274231
returnRETVAL;
42284232
}
4229-
4230-
#endif/* WIN32 */
4233+
#endif/* defined(WIN32) && PERL_VERSION_LT(5, 28, 0) */

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp