Skip to content

Commit

Permalink
Avoid newGVgen in blead-upstream modules
Browse files Browse the repository at this point in the history
ExtUtils::ParseXS::Typemaps:
Just in documentation, but it’s good to change it, in case peo-
ple copy it.

Time::HiRes:
It doesn’t even use these typemap entries, but I changed it in case
they get used in the future.  (The changes are not identical to the
default typemap, because Time::HiRes is 5.6-compatible, at least
nominally.)

os2/os2.c:
No, this is not a module, but I changed it, too.

Some other instances of newGVgen are already handled properly, or are
just in tests, so I left them alone.
  • Loading branch information
Father Chrysostomos committed Dec 11, 2017
1 parent 6da090e commit 732d389
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 6 deletions.
4 changes: 3 additions & 1 deletion dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps.pm
Expand Up @@ -781,7 +781,9 @@ corresponding OUTPUT code:
$var.context.value().size());
',
'T_OUT' => ' {
GV *gv = newGVgen("$Package");
GV *gv = (GV *)sv_newmortal();
gv_init_pvn(gv, gv_stashpvs("$Package",1),
"__ANONIO__",10,0);
if ( do_open(gv, "+>&", 3, FALSE, 0, 0, $var) )
sv_setsv(
$arg,
Expand Down
12 changes: 8 additions & 4 deletions dist/Time-HiRes/typemap
Expand Up @@ -282,7 +282,8 @@ T_ARRAY
}
T_STDIO
{
GV *gv = newGVgen("$Package");
GV *gv = (GV *)sv_newmortal();
gv_init(gv, gv_stashpv("$Package",1),"__ANONIO__",10,0);
PerlIO *fp = PerlIO_importFILE($var,0);
if ( fp && do_open(gv, "+<&", 3, FALSE, 0, 0, fp) )
sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1)));
Expand All @@ -291,23 +292,26 @@ T_STDIO
}
T_IN
{
GV *gv = newGVgen("$Package");
GV *gv = (GV *)sv_newmortal();
gv_init(gv, gv_stashpv("$Package",1),"__ANONIO__",10,0);
if ( do_open(gv, "<&", 2, FALSE, 0, 0, $var) )
sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1)));
else
$arg = &PL_sv_undef;
}
T_INOUT
{
GV *gv = newGVgen("$Package");
GV *gv = (GV *)sv_newmortal();
gv_init(gv, gv_stashpv("$Package",1),"__ANONIO__",10,0);
if ( do_open(gv, "+<&", 3, FALSE, 0, 0, $var) )
sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1)));
else
$arg = &PL_sv_undef;
}
T_OUT
{
GV *gv = newGVgen("$Package");
GV *gv = (GV *)sv_newmortal();
gv_init(gv, gv_stashpv("$Package",1),"__ANONIO__",10,0);
if ( do_open(gv, "+>&", 3, FALSE, 0, 0, $var) )
sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1)));
else
Expand Down
3 changes: 2 additions & 1 deletion os2/os2.c
Expand Up @@ -4257,7 +4257,8 @@ XS(XS_OS2_pipe)
perlio = PerlIO_fdopen(hpipe, buf);
ST(0) = sv_newmortal();
{
GV *gv = newGVgen("OS2::pipe");
GV *gv = (GV *)sv_newmortal();
gv_init_pvn(gv, gv_stashpvs("OS2::pipe",1),"__ANONIO__",10,0);
if ( do_open6(gv, perltype, strlen(perltype), perlio, NULL, 0) )
sv_setsv(ST(0), sv_bless(newRV((SV*)gv), gv_stashpv("IO::Handle",1)));
else
Expand Down

0 comments on commit 732d389

Please sign in to comment.