diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 2000-03-04 19:02:27 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 2000-03-04 19:02:27 +0000 |
commit | 6af84f9fb71a3207be80bf9d2f1ad85d0d98bd09 (patch) | |
tree | dc7c56b3621370ccfefcd36f50c80b277ad4c447 /doio.c | |
parent | 04cf9722f96bb98b149fe523581f19b3062676dc (diff) | |
download | perl-6af84f9fb71a3207be80bf9d2f1ad85d0d98bd09.tar.gz |
avoid looking up stale PL_statbuf (spotted by Charles Lane
<lane@DUPHY4.Physics.Drexel.Edu>)
p4raw-id: //depot/perl@5524
Diffstat (limited to 'doio.c')
-rw-r--r-- | doio.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -646,13 +646,17 @@ Perl_nextargv(pTHX_ register GV *gv) else { dTHR; if (ckWARN_d(WARN_INPLACE)) { - if (!S_ISREG(PL_statbuf.st_mode)) + int eno = errno; + if (PerlLIO_stat(PL_oldname, &PL_statbuf) >= 0 + && !S_ISREG(PL_statbuf.st_mode)) + { Perl_warner(aTHX_ WARN_INPLACE, "Can't do inplace edit: %s is not a regular file", PL_oldname); + } else Perl_warner(aTHX_ WARN_INPLACE, "Can't open %s: %s", - PL_oldname, Strerror(errno)); + PL_oldname, Strerror(eno)); } } } |