diff options
author | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2002-02-08 01:21:07 +0100 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2002-02-08 14:14:16 +0000 |
commit | ed2c6b9b45ca155543a6a8e651e2d3e0d446406e (patch) | |
tree | 3d26bca888d8c378415b17a5d55fa709dd0169a7 /t/io/argv.t | |
parent | 327ccce1a786df11565e91b4bb4adc2762c13d28 (diff) | |
download | perl-ed2c6b9b45ca155543a6a8e651e2d3e0d446406e.tar.gz |
Re: [PATCH] eof() coredumps when ARGV is aliased to another filehandle
Message-ID: <20020208002107.E763@rafael>
p4raw-id: //depot/perl@14601
Diffstat (limited to 't/io/argv.t')
-rwxr-xr-x | t/io/argv.t | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/t/io/argv.t b/t/io/argv.t index a602a02259..f2f3245b10 100755 --- a/t/io/argv.t +++ b/t/io/argv.t @@ -7,7 +7,7 @@ BEGIN { require "./test.pl"; -plan(tests => 21); +plan(tests => 22); use File::Spec; @@ -111,4 +111,22 @@ ok( eof(), 'eof() true after closing ARGV' ); close F or die "Could not close: $!"; } -END { unlink 'Io_argv1.tmp', 'Io_argv1.tmp_bak', 'Io_argv2.tmp', 'Io_argv2.tmp_bak' } +# This used to dump core +fresh_perl_is( <<'**PROG**', "foobar", {}, "ARGV aliasing and eof()" ); +open OUT, ">Io_argv3.tmp" or die "Can't open temp file: $!"; +print OUT "foo"; +close OUT; +open IN, "Io_argv3.tmp" or die "Can't open temp file: $!"; +*ARGV = *IN; +while (<>) { + print; + print "bar" if eof(); +} +close IN; +unlink "Io_argv3.tmp"; +**PROG** + +END { + unlink 'Io_argv1.tmp', 'Io_argv1.tmp_bak', + 'Io_argv2.tmp', 'Io_argv2.tmp_bak', 'Io_argv3.tmp'; +} |