headers_install: use local file handles
Stephen Hemminger [Mon, 22 Feb 2010 23:17:26 +0000 (15:17 -0800)]
Better practice to use 3 arg open and local file handles.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: WANG Cong <amwang@redhat.com>
Cc: Michal Marek <mmarek@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Michal Marek <mmarek@suse.cz>

scripts/headers_install.pl

index b89ca2c..4ca3be3 100644 (file)
@@ -23,13 +23,13 @@ my ($readdir, $installdir, $arch, @files) = @ARGV;
 my $unifdef = "scripts/unifdef -U__KERNEL__ -D__EXPORTED_HEADERS__";
 
 foreach my $file (@files) {
-       local *INFILE;
-       local *OUTFILE;
        my $tmpfile = "$installdir/$file.tmp";
-       open(INFILE, "<$readdir/$file")
-               or die "$readdir/$file: $!\n";
-       open(OUTFILE, ">$tmpfile") or die "$tmpfile: $!\n";
-       while (my $line = <INFILE>) {
+
+       open(my $in, '<', "$readdir/$file")
+           or die "$readdir/$file: $!\n";
+       open(my $out, '>', $tmpfile)
+           or die "$tmpfile: $!\n";
+       while (my $line = <$in>) {
                $line =~ s/([\s(])__user\s/$1/g;
                $line =~ s/([\s(])__force\s/$1/g;
                $line =~ s/([\s(])__iomem\s/$1/g;
@@ -39,10 +39,11 @@ foreach my $file (@files) {
                $line =~ s/(^|\s)(inline)\b/$1__$2__/g;
                $line =~ s/(^|\s)(asm)\b(\s|[(]|$)/$1__$2__$3/g;
                $line =~ s/(^|\s|[(])(volatile)\b(\s|[(]|$)/$1__$2__$3/g;
-               printf OUTFILE "%s", $line;
+               printf {$out} "%s", $line;
        }
-       close OUTFILE;
-       close INFILE;
+       close $out;
+       close $in;
+
        system $unifdef . " $tmpfile > $installdir/$file";
        unlink $tmpfile;
 }