be defensive about setting {host,group,pass}cat (from Andy Dougherty)
[p5sagit/p5-mst-13.2.git] / gv.c
diff --git a/gv.c b/gv.c
index f6c9744..e1e4ae0 100644 (file)
--- a/gv.c
+++ b/gv.c
@@ -655,10 +655,15 @@ Perl_gv_fetchpv(pTHX_ const char *nambeg, I32 add, I32 sv_type)
        if (strEQ(name, "SIG")) {
            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*);
+           }
            GvMULTI_on(gv);
            hv = GvHVn(gv);
            hv_magic(hv, gv, 'S');
-           for(i = 1; PL_sig_name[i]; i++) {
+           for (i = 1; PL_sig_name[i]; i++) {
                SV ** init;
                init = hv_fetch(hv, PL_sig_name[i], strlen(PL_sig_name[i]), 1);
                if (init)