X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2Findirect.git;a=blobdiff_plain;f=indirect.xs;h=d21b29e4b56013f23d23045612d142be891dd63f;hp=ba9c503958a997ab3b043683cbd0b48b9af213f4;hb=4168177ad46806cfb9e0cdb522aed997215cf8b2;hpb=b692a67bb2d094808f4ef331df53093a4019b34e diff --git a/indirect.xs b/indirect.xs index ba9c503..d21b29e 100644 --- a/indirect.xs +++ b/indirect.xs @@ -647,22 +647,14 @@ STATIC OP *indirect_ck_method(pTHX_ OP *o) { line_t line; SV *sv; - if (oi) { - sv = sv_2mortal(newSVpvn(oi->buf, oi->len)); - pos = oi->pos; - /* Keep the old line so that we really point to the first line of the - * expression. */ - line = oi->line; - } else { - sv = cSVOPx_sv(op); - if (!SvPOK(sv) || (SvTYPE(sv) < SVt_PV)) - goto done; - sv = sv_mortalcopy(sv); + if (!oi) + goto done; - if (!indirect_find(sv, PL_oldbufptr, &pos)) - goto done; - line = CopLINE(&PL_compiling); - } + sv = sv_2mortal(newSVpvn(oi->buf, oi->len)); + pos = oi->pos; + /* Keep the old line so that we really point to the first line of the + * expression. */ + line = oi->line; o = CALL_FPTR(indirect_old_ck_method)(aTHX_ o); /* o may now be a method_named */