if (SvTYPE(sv) == SVt_PVGV && !(sv = (SV *)GvIOp(sv)))
RETPUSHYES;
- if ((mg = SvTIED_mg(sv, how)) && mg->mg_obj) {
- SV *obj = SvRV(mg->mg_obj);
+ if ((mg = SvTIED_mg(sv, how))) {
+ SV *obj = SvRV(SvTIED_obj(sv, mg));
GV *gv;
CV *cv = NULL;
if (obj) {
PerlLIO_close(pp[0]);
#if defined(HAS_FCNTL) && defined(F_SETFD)
fcntl(pp[1], F_SETFD, FD_CLOEXEC);
-#else
- PerlLIO_close(pp[1]); /* Do as best as we can: pretend success. */
#endif
}
if (PL_op->op_flags & OPf_STACKED) {