From c08d693782d39895d445f7f2825c1f8240fc9f5a Mon Sep 17 00:00:00 2001 From: Steve Peters Date: Fri, 9 Mar 2007 18:30:16 +0000 Subject: Prefer dirhandles to filehandles when passing a bareword typeglob to chdir() and the typeglob has both a dirhandle and a filehandle assigned to it. p4raw-id: //depot/perl@30527 --- pp_sys.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'pp_sys.c') diff --git a/pp_sys.c b/pp_sys.c index 29638d91b3..5693d5063c 100644 --- a/pp_sys.c +++ b/pp_sys.c @@ -3442,15 +3442,14 @@ PP(pp_chdir) #ifdef HAS_FCHDIR IO* const io = GvIO(gv); if (io) { - if (IoIFP(io)) { - PUSHi(fchdir(PerlIO_fileno(IoIFP(io))) >= 0); - } - else if (IoDIRP(io)) { + if (IoDIRP(io)) { #ifdef HAS_DIRFD PUSHi(fchdir(dirfd(IoDIRP(io))) >= 0); #else DIE(aTHX_ PL_no_func, "dirfd"); #endif + } else if (IoIFP(io)) { + PUSHi(fchdir(PerlIO_fileno(IoIFP(io))) >= 0); } else { if (ckWARN2(WARN_UNOPENED,WARN_CLOSED)) -- cgit v1.2.1