All pastes #920283 Raw Edit

Untitled

public text v1 · immutable
#920283 ·published 2008-02-27 09:30 UTC
rendered paste body
static void
fake_entertry()
{
    PERL_CONTEXT *cx;
    I32 gimme;
    dCTXP;

    PL_op = (OP*)&dummy_op;
    gimme = GIMME_V;

    ENTER;
    SAVETMPS;

    Perl_push_return(aTHX_ Nullop);
    PUSHBLOCK(cx, (CXt_EVAL|CXp_TRYBLOCK), PL_stack_sp);
    PUSHEVAL(cx, 0, 0);
    PL_eval_root = PL_op;
    PL_in_eval = EVAL_INEVAL;
    sv_setpvn(ERRSV, "", 0);
}

static void
fake_leavetry(I32 oldscope)
{
    dCTXP;
    if (PL_scopestack_ix > oldscope) {
        PERL_CONTEXT *cx;
        PMOP *newpm;
        I32 optype;
        SV **newsp;
        I32 gimme;

        POPBLOCK(cx,newpm);
        POPEVAL(cx);
        Perl_pop_return(aTHX);
        PL_curpm = newpm;
    }

    FREETMPS;
    LEAVE;
}