if (!retarray)
return ret;
} else {
- ret = newSVsv(&PL_sv_undef);
+ if (retarray)
+ ret = newSVsv(&PL_sv_undef);
}
if (retarray)
av_push(retarray, ret);
return newRV_noinc(MUTABLE_SV(retarray));
}
}
-
- if (ret)
- SvREFCNT_dec(ret);
-
return NULL;
}