X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=indirect.xs;h=896ae7f591338b40e75a0d06e33940aea9af135c;hb=13391a9b36924ccf07e9eeec1bf96943488b3207;hp=4f1deb4d69937ce96ffd5e372f2866101bc94fc5;hpb=a52a1238a67d43a290a7ed147254c7330ce4b96e;p=perl%2Fmodules%2Findirect.git diff --git a/indirect.xs b/indirect.xs index 4f1deb4..896ae7f 100644 --- a/indirect.xs +++ b/indirect.xs @@ -516,24 +516,24 @@ STATIC OP *indirect_ck_entersub(pTHX_ OP *o) { if (mpos < opos) { SV *code = indirect_detag(hint); - if (hint) { + if (code) { SV *file; line_t line; dSP; + ENTER; + SAVETMPS; + onamesv = sv_mortalcopy(onamesv); mnamesv = sv_mortalcopy(mnamesv); #ifdef USE_ITHREADS - file = newSVpv(CopFILE(&PL_compiling), 0); + file = sv_2mortal(newSVpv(CopFILE(&PL_compiling), 0)); #else file = sv_mortalcopy(CopFILESV(&PL_compiling)); #endif line = CopLINE(&PL_compiling); - ENTER; - SAVETMPS; - PUSHMARK(SP); EXTEND(SP, 4); PUSHs(onamesv);