From 6a4854c07e439d0e6f4f2b9b853cc7087b52e34c Mon Sep 17 00:00:00 2001 From: Nicholas Clark Date: Tue, 4 Jan 2011 15:31:03 +0000 Subject: Convert tied READ to using S_tied_handle_method() --- pp_sys.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'pp_sys.c') diff --git a/pp_sys.c b/pp_sys.c index e645f35012..302a5698a9 100644 --- a/pp_sys.c +++ b/pp_sys.c @@ -1601,14 +1601,11 @@ PP(pp_sysread) if ((PL_op->op_type == OP_READ || PL_op->op_type == OP_SYSREAD) && gv && (io = GvIO(gv)) ) { - const MAGIC * mg = SvTIED_mg((const SV *)io, PERL_MAGIC_tiedscalar); + MAGIC *const mg = SvTIED_mg((const SV *)io, PERL_MAGIC_tiedscalar); if (mg) { - PUSHMARK(MARK-1); - *MARK = SvTIED_obj(MUTABLE_SV(io), mg); - ENTER; - call_method("READ", G_SCALAR); - LEAVE; - return NORMAL; + return S_tied_handle_method(aTHX_ "READ", mark - 1, io, mg, + G_SCALAR | ARGUMENTS_ON_STACK + | (sp - mark) << TIED_HANDLE_ARGC_SHIFT); } } -- cgit v1.2.1