]> granicus.if.org Git - postgresql/commitdiff
Fix copyright.pl to properly us 'tie' function.
authorBruce Momjian <bruce@momjian.us>
Fri, 19 Aug 2011 23:31:12 +0000 (19:31 -0400)
committerBruce Momjian <bruce@momjian.us>
Fri, 19 Aug 2011 23:31:12 +0000 (19:31 -0400)
Kris Jurka

src/tools/backend/flow.gif
src/tools/copyright.pl

index f1ebeb7b63d73f35a8861c8582cebcc0c4e5c900..e0cd8db9b193c7667e00131fa3f3847af97daa14 100644 (file)
Binary files a/src/tools/backend/flow.gif and b/src/tools/backend/flow.gif differ
index 91f73e37ab3f1d34a779faec1d9df48d5766ed2a..08e5f5e39d46c873cc2589b93dd197f01f21d925 100755 (executable)
@@ -11,6 +11,7 @@ use strict;
 use warnings;
 
 use File::Find;
+use Tie::File;
 
 my $pgdg = 'PostgreSQL Global Development Group';
 my $cc = 'Copyright \(c\) ';
@@ -22,14 +23,12 @@ print "Using current year:  $year\n";
 find({wanted => \&wanted, no_chdir => 1}, '.');
 
 sub wanted {
-    my $filename = $File::Find::name;
+    return if ! -f $File::Find::name || -l $File::Find::name;
 
-    # only regular files
-    return if ! -f $filename;
+    my @lines;
+    tie @lines, "Tie::File", $File::Find::name;
 
-    open(my $FILE, '<', $filename) or die "Cannot open $filename";
-
-    foreach my $line (<$FILE>) {
+    foreach my $line (@lines) {
         # We only care about lines with a copyright notice.
         next unless $line =~ m/$cc.*$pgdg/;
         # We stop when we've done one substitution.  This is both for
@@ -39,7 +38,7 @@ sub wanted {
         last if $line =~ s/($cc\d{4})(, $pgdg)/$1-$year$2/;
         last if $line =~ s/($cc\d{4})-\d{4}(, $pgdg)/$1-$year$2/;
     }
-    close($FILE) or die "Cannot close $filename";
+    untie @lines;
 }
 
 print "Manually update doc/src/sgml/legal.sgml and src/interfaces/libpq/libpq.rc.in too\n";