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.

Reply via email to