summaryrefslogtreecommitdiff
path: root/pp_sys.c
diff options
context:
space:
mode:
Diffstat (limited to 'pp_sys.c')
-rw-r--r--pp_sys.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/pp_sys.c b/pp_sys.c
index 302a5698a9..57e4730228 100644
--- a/pp_sys.c
+++ b/pp_sys.c
@@ -1848,12 +1848,9 @@ PP(pp_send)
PUTBACK;
}
- PUSHMARK(ORIGMARK);
- *(ORIGMARK+1) = SvTIED_obj(MUTABLE_SV(io), mg);
- ENTER;
- call_method("WRITE", G_SCALAR);
- LEAVE;
- return NORMAL;
+ return S_tied_handle_method(aTHX_ "WRITE", mark - 1, io, mg,
+ G_SCALAR | ARGUMENTS_ON_STACK
+ | (sp - mark) << TIED_HANDLE_ARGC_SHIFT);
}
}
if (!gv)