The diff in generated .i for 3.58 vs 3.59, showing that $\ will now
fail being dealt with:
@@ -3,20 +3,13 @@ static int cx_xsCombine (PerlInterpreter
csv_t csv;
int result;
- SV *ors = (my_perl->Iors_sv);
-
cx_SetupCsv (my_perl, &csv, hv, self);
csv.useIO = useIO;
- if (*csv.eol)
- (my_perl->Iors_sv) = ((void *)0);
-
if (useIO && csv.has_hooks & 0x0004)
(void)hook (my_perl, hv, "before_print", av);
result = cx_Combine (my_perl, &csv, io, av);
- (my_perl->Iors_sv) = ors;
-
if (result && !useIO && csv.utf8)
Perl_sv_utf8_upgrade_flags_grow (my_perl, io, 2, 0);
return result;
Looking at the source code, shows to me that PERL_BCDVERSION is not
correctly computed anymore:
#define xsCombine(self,hv,av,io,useIO) cx_xsCombine (aTHX_ self, hv, av, io, useIO)
static int cx_xsCombine (pTHX_ SV *self, HV *hv, AV *av, SV *io, bool useIO) {
csv_t csv;
int result;
#if (PERL_BCDVERSION >= 0x5008000)
SV *ors = PL_ors_sv;
#endif
SetupCsv (&csv, hv, self);
csv.useIO = useIO;
#if (PERL_BCDVERSION >= 0x5008000)
if (*csv.eol)
PL_ors_sv = NULL;
#endif
if (useIO && csv.has_hooks & HOOK_BEFORE_PRINT)
(void)hook (aTHX_ hv, "before_print", av);
result = Combine (&csv, io, av);
#if (PERL_BCDVERSION >= 0x5008000)
PL_ors_sv = ors;
#endif
if (result && !useIO && csv.utf8)
sv_utf8_upgrade (io);
return result;
} /* xsCombine */
--
H.Merijn Brand http://tux.nl Perl Monger http://amsterdam.pm.org/
using perl5.00307 .. 5.31 porting perl5 on HP-UX, AIX, and Linux
https://useplaintext.email https://tux.nl http://www.test-smoke.org
http://qa.perl.org http://www.goldmark.org/jeff/stupid-disclaimers/
fail being dealt with:
@@ -3,20 +3,13 @@ static int cx_xsCombine (PerlInterpreter
csv_t csv;
int result;
- SV *ors = (my_perl->Iors_sv);
-
cx_SetupCsv (my_perl, &csv, hv, self);
csv.useIO = useIO;
- if (*csv.eol)
- (my_perl->Iors_sv) = ((void *)0);
-
if (useIO && csv.has_hooks & 0x0004)
(void)hook (my_perl, hv, "before_print", av);
result = cx_Combine (my_perl, &csv, io, av);
- (my_perl->Iors_sv) = ors;
-
if (result && !useIO && csv.utf8)
Perl_sv_utf8_upgrade_flags_grow (my_perl, io, 2, 0);
return result;
Looking at the source code, shows to me that PERL_BCDVERSION is not
correctly computed anymore:
#define xsCombine(self,hv,av,io,useIO) cx_xsCombine (aTHX_ self, hv, av, io, useIO)
static int cx_xsCombine (pTHX_ SV *self, HV *hv, AV *av, SV *io, bool useIO) {
csv_t csv;
int result;
#if (PERL_BCDVERSION >= 0x5008000)
SV *ors = PL_ors_sv;
#endif
SetupCsv (&csv, hv, self);
csv.useIO = useIO;
#if (PERL_BCDVERSION >= 0x5008000)
if (*csv.eol)
PL_ors_sv = NULL;
#endif
if (useIO && csv.has_hooks & HOOK_BEFORE_PRINT)
(void)hook (aTHX_ hv, "before_print", av);
result = Combine (&csv, io, av);
#if (PERL_BCDVERSION >= 0x5008000)
PL_ors_sv = ors;
#endif
if (result && !useIO && csv.utf8)
sv_utf8_upgrade (io);
return result;
} /* xsCombine */
--
H.Merijn Brand http://tux.nl Perl Monger http://amsterdam.pm.org/
using perl5.00307 .. 5.31 porting perl5 on HP-UX, AIX, and Linux
https://useplaintext.email https://tux.nl http://www.test-smoke.org
http://qa.perl.org http://www.goldmark.org/jeff/stupid-disclaimers/