--- netpbm-10.33/generator/ppmrainbow- 2006-05-14 17:55:20 +0400 +++ netpbm-10.33/generator/ppmrainbow 2006-05-14 17:57:29 +0400 @@ -4,14 +4,11 @@ use Getopt::Long; my ($FALSE, $TRUE) = (0,1); -(my $myname = $0) =~ s#\A.*/##; - my ($Twid, $Thgt, $tmpdir, $norepeat, $verbose); # set defaults $Twid = 600; $Thgt = 8; -$tmpdir = $ENV{"TMPDIR"} || "/tmp"; $norepeat = $FALSE; $verbose = $FALSE; @@ -39,7 +36,9 @@ if (!$norepeat) { push @colorlist, $ARGV[0]; } -my $tmpprefix = $tmpdir . "/$myname.$$."; +use File::Temp qw(tempdir); +use sigtrap qw(die normal-signals); +$tmpdir = tempdir("ppmrainbow.XXXXXXXX", TMPDIR => 1, CLEANUP => 1); my $widthRemaining; my $n; @@ -50,7 +49,7 @@ $widthRemaining = $Twid; @outlist = (); while (@colorlist >= 2) { - my $outfile = sprintf("%s%03u.ppm", $tmpprefix, $n); + my $outfile = sprintf("%s/%s%03u.ppm", $tmpdir, $n); push(@outlist, $outfile); my $w = int(($widthRemaining-1)/(@colorlist-1))+1; @@ -68,7 +67,3 @@ while (@colorlist >= 2) { or exit 1; exit 0; - -END { - unlink @outlist if @outlist; -}