Skip to content

Commit 578333b

Browse files
committed
patch 8.1.0203: building with Perl 5.28 fails on Windows
Problem: Building with Perl 5.28 fails on Windows. Solution: Define Perl_mg_get. (closes #3196)
1 parent 6183ccb commit 578333b

2 files changed

Lines changed: 17 additions & 7 deletions

File tree

src/if_perl.xs

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,9 @@ typedef int perl_key;
199199
# define Perl_gv_stashpv dll_Perl_gv_stashpv
200200
# define Perl_markstack_grow dll_Perl_markstack_grow
201201
# define Perl_mg_find dll_Perl_mg_find
202+
# if (PERL_REVISION == 5) && (PERL_VERSION >= 28)
203+
# define Perl_mg_get dll_Perl_mg_get
204+
# endif
202205
# define Perl_newXS dll_Perl_newXS
203206
# define Perl_newSV dll_Perl_newSV
204207
# define Perl_newSViv dll_Perl_newSViv
@@ -342,6 +345,9 @@ static I32* (*Perl_markstack_grow)(pTHX);
342345
static void (*Perl_markstack_grow)(pTHX);
343346
# endif
344347
static MAGIC* (*Perl_mg_find)(pTHX_ SV*, int);
348+
# if (PERL_REVISION == 5) && (PERL_VERSION >= 28)
349+
static int (*Perl_mg_get)(pTHX_ SV*);
350+
# endif
345351
static CV* (*Perl_newXS)(pTHX_ char*, XSUBADDR_t, char*);
346352
static SV* (*Perl_newSV)(pTHX_ STRLEN);
347353
static SV* (*Perl_newSViv)(pTHX_ IV);
@@ -494,6 +500,9 @@ static struct {
494500
{"Perl_gv_stashpv", (PERL_PROC*)&Perl_gv_stashpv},
495501
{"Perl_markstack_grow", (PERL_PROC*)&Perl_markstack_grow},
496502
{"Perl_mg_find", (PERL_PROC*)&Perl_mg_find},
503+
# if (PERL_REVISION == 5) && (PERL_VERSION >= 28)
504+
{"Perl_mg_get", (PERL_PROC*)&Perl_mg_get},
505+
# endif
497506
{"Perl_newXS", (PERL_PROC*)&Perl_newXS},
498507
{"Perl_newSV", (PERL_PROC*)&Perl_newSV},
499508
{"Perl_newSViv", (PERL_PROC*)&Perl_newSViv},
@@ -862,8 +871,8 @@ perl_win_free(win_T *wp)
862871
{
863872
if (wp->w_perl_private && perl_interp != NULL)
864873
{
865-
SV *sv = (SV*)wp->w_perl_private;
866-
D_Save_Sv(sv);
874+
SV *sv = (SV*)wp->w_perl_private;
875+
D_Save_Sv(sv);
867876
sv_setiv(sv, 0);
868877
SvREFCNT_dec(sv);
869878
}
@@ -875,8 +884,8 @@ perl_buf_free(buf_T *bp)
875884
{
876885
if (bp->b_perl_private && perl_interp != NULL)
877886
{
878-
SV *sv = (SV *)bp->b_perl_private;
879-
D_Save_Sv(sv);
887+
SV *sv = (SV *)bp->b_perl_private;
888+
D_Save_Sv(sv);
880889
sv_setiv(sv, 0);
881890
SvREFCNT_dec(sv);
882891
}
@@ -911,9 +920,8 @@ I32 cur_val(IV iv, SV *sv)
911920

912921
if (SvRV(sv) == SvRV(rv))
913922
SvREFCNT_dec(SvRV(rv));
914-
else /* XXX: Not sure if the `else` condition are right
915-
* Test_SvREFCNT() pass in all case.
916-
*/
923+
else // XXX: Not sure if the `else` condition are right
924+
// Test_SvREFCNT() pass in all case.
917925
sv_setsv(sv, rv);
918926

919927
return 0;

src/version.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -793,6 +793,8 @@ static char *(features[]) =
793793

794794
static int included_patches[] =
795795
{ /* Add new patch number below this line */
796+
/**/
797+
203,
796798
/**/
797799
202,
798800
/**/

0 commit comments

Comments
 (0)