Change 34071 by [EMAIL PROTECTED] on 2008/06/17 16:50:57
Make sure parser's filehandle is closed when finished
(It was mistakenly left open if there was no old_parser, which caused
t/comp/require.t to leave behind a 'bleah.pm' (from the test for
#49472) on Win32, where the deletion of an open file fails.)
Affected files ...
... //depot/perl/toke.c#826 edit
Differences ...
==== //depot/perl/toke.c#826 (text) ====
Index: perl/toke.c
--- perl/toke.c#825~34023~ 2008-06-08 02:12:01.000000000 -0700
+++ perl/toke.c 2008-06-17 09:50:57.000000000 -0700
@@ -761,8 +761,8 @@
if (parser->rsfp == PerlIO_stdin())
PerlIO_clearerr(parser->rsfp);
- else if (parser->rsfp && parser->old_parser
- && parser->rsfp != parser->old_parser->rsfp)
+ else if (parser->rsfp && (!parser->old_parser ||
+ (parser->old_parser && parser->rsfp !=
parser->old_parser->rsfp)))
PerlIO_close(parser->rsfp);
SvREFCNT_dec(parser->rsfp_filters);
End of Patch.