Skip to content

Commit 676d803

Browse files
committed
Fix p5-Text-Xslate on Perl 5.8.5
Fixes Perl#140 This is a patch from @pali, to fix the failure seen by @skaji on p5-Text-Xslate. (cherry picked from commit 923705f8512cc1f17b01de6008d52f865f63b856) Signed-off-by: Nicolas R <[email protected]>
1 parent d6dd7bf commit 676d803

File tree

1 file changed

+21
-9
lines changed
  • dist/Devel-PPPort/parts/inc

1 file changed

+21
-9
lines changed

dist/Devel-PPPort/parts/inc/Sv_set

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,15 @@ sv_setsv_flags
2525
#if ( { VERSION >= 5.7.3 } && { VERSION < 5.8.7 } ) || ( { VERSION >= 5.9.0 } && { VERSION < 5.9.2 } )
2626
#undef sv_setsv_flags
2727
#define SV_NOSTEAL 16
28-
#define sv_setsv_flags(dstr, sstr, flags) \
29-
STMT_START { \
30-
if (((flags) & SV_NOSTEAL) && (SvFLAGS((sstr)) & SVs_TEMP)) { \
31-
SvTEMP_off((sstr)); \
32-
Perl_sv_setsv_flags(aTHX_ (dstr), (sstr), (flags) & ~SV_NOSTEAL); \
33-
SvTEMP_on((sstr)); \
34-
} else { \
35-
Perl_sv_setsv_flags(aTHX_ (dstr), (sstr), (flags) & ~SV_NOSTEAL); \
36-
} \
28+
#define sv_setsv_flags(dstr, sstr, flags) \
29+
STMT_START { \
30+
if (((flags) & SV_NOSTEAL) && (sstr) && (SvFLAGS((SV *)(sstr)) & SVs_TEMP)) { \
31+
SvTEMP_off((SV *)(sstr)); \
32+
Perl_sv_setsv_flags(aTHX_ (dstr), (sstr), (flags) & ~SV_NOSTEAL); \
33+
SvTEMP_on((SV *)(sstr)); \
34+
} else { \
35+
Perl_sv_setsv_flags(aTHX_ (dstr), (sstr), (flags) & ~SV_NOSTEAL); \
36+
} \
3737
} STMT_END
3838
#endif
3939

@@ -160,6 +160,18 @@ newSVsv_nomg(sv)
160160

161161
#endif
162162

163+
void
164+
sv_setsv_compile_test(sv)
165+
SV *sv
166+
CODE:
167+
sv_setsv(sv, NULL);
168+
#ifdef sv_setsv_flags
169+
sv_setsv_flags(sv, NULL, 0);
170+
#ifdef SV_NOSTEAL
171+
sv_setsv_flags(sv, NULL, SV_NOSTEAL);
172+
#endif
173+
#endif
174+
163175
=tests plan => 15
164176

165177
my $foo = 5;

0 commit comments

Comments
 (0)