]> git.donarmstrong.com Git - debbugs.git/blobdiff - examples/debian/versions/build-versions-db
properly check close and closedir
[debbugs.git] / examples / debian / versions / build-versions-db
index 8456bfe501fcdc308687f5ee3a95db0eb6e5e311..30985872c1a05145ea9bd066c56aae9d4bd23ebf 100755 (executable)
@@ -106,7 +106,6 @@ my $time = time;
 my %db;
 my %db2;
 if ($options{update}) {
-    copy($versions,$versions_new);
     copy($versions_time,$versions_time_new);
 }
 tie %db, "MLDBM", $versions_new, O_CREAT|O_RDWR, 0664
@@ -129,10 +128,14 @@ sub open_compressed_file {
        $mode = '-|:encoding(UTF-8)';
        push @opts,'gzip','-dc';
     }
-    if ($file =~ /^\.xz$/) {
+    if ($file =~ /\.xz$/) {
        $mode = '-|:encoding(UTF-8)';
        push @opts,'xz','-dc';
     }
+    if ($file =~ /\.bz2$/) {
+       $mode = '-|:encoding(UTF-8)';
+       push @opts,'bzip2','-dc';
+    }
     open($fh,$mode,@opts,$file);
     return $fh;
 }
@@ -158,6 +161,8 @@ sub read_packages {
        update_package_version($db,$db2,$dist,$arch,$pkg,$ver,$time) unless
            $extra_source_only;
     }
+    close($PACKAGES) or
+       die "Error while closing ${packages}: $!";
 }
 
 
@@ -205,7 +210,8 @@ for my $suite (@{$suites}) {
            read_packages($db,$db2,$packages, $viscomponent,$arch,$suite);
        }
 
-       closedir $COMPONENT;
+       closedir $COMPONENT or
+           die "Unable to closedir $componentdir: $!";
     }
 }
 }