X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=gv.c;h=c73d503d5f4776d5db92d648996721dd489be78f;hb=9d79914594fed2aeeee07968feace7d26f9332c9;hp=53389bfdaeb8d79543ca95e964886b6659cd19ee;hpb=ce08f86c8b1d404b3d9fec75a102b8cd65f8766a;p=p5sagit%2Fp5-mst-13.2.git diff --git a/gv.c b/gv.c index 53389bf..c73d503 100644 --- a/gv.c +++ b/gv.c @@ -750,21 +750,21 @@ Perl_gv_fetchpv(pTHX_ const char *nambeg, I32 add, I32 sv_type) HV *hv; I32 i; if (!PL_psig_ptr) { - int sig_num[] = { SIG_NUM }; - New(73, PL_psig_ptr, sizeof(sig_num)/sizeof(*sig_num), SV*); - New(73, PL_psig_name, sizeof(sig_num)/sizeof(*sig_num), SV*); - New(73, PL_psig_pend, sizeof(sig_num)/sizeof(*sig_num), int); + Newz(73, PL_psig_ptr, SIG_SIZE, SV*); + Newz(73, PL_psig_name, SIG_SIZE, SV*); + Newz(73, PL_psig_pend, SIG_SIZE, int); } GvMULTI_on(gv); hv = GvHVn(gv); hv_magic(hv, Nullgv, 'S'); - for (i = 1; PL_sig_name[i]; i++) { + for (i = 1; i < SIG_SIZE; i++) { SV ** init; init = hv_fetch(hv, PL_sig_name[i], strlen(PL_sig_name[i]), 1); if (init) sv_setsv(*init, &PL_sv_undef); PL_psig_ptr[i] = 0; PL_psig_name[i] = 0; + PL_psig_pend[i] = 0; } } break; @@ -1411,6 +1411,7 @@ Perl_amagic_call(pTHX_ SV *left, SV *right, int method, int flags) lr = 1; } break; + case int_amg: case iter_amg: /* XXXX Eventually should do to_gv. */ /* FAIL safe */ return NULL; /* Delegate operation to standard mechanisms. */