]> git.donarmstrong.com Git - debbugs.git/commitdiff
[project @ 2000-05-01 07:05:37 by doogie]
authordoogie <>
Mon, 1 May 2000 14:05:37 +0000 (06:05 -0800)
committerdoogie <>
Mon, 1 May 2000 14:05:37 +0000 (06:05 -0800)
Added a new function, GetBugList(), which returns an array of bug numbers
that are active in the db.

Debbugs/DBase.pm

index b82d791ade6cfcbc662c0a3a1d3dfc073010b918..3dbf39504c2b64c058784a16b6d44a7f72783efa 100644 (file)
@@ -164,6 +164,48 @@ sub CloseLogfile
     close $LogfileHandle;
     $OpenedLog = 0;
 }
+sub GetBugList
+{
+# TODO: This is ugly, but the easiest for me to implement.
+#      If you have a better way, then please send a patch.
+#
+    my $dir = new FileHandle;
+
+    my @ret;
+    opendir $dir, $Globals{ "work-dir" } . "/db";
+    my @files = readdir($dir);
+    closedir $dir;
+    foreach (grep { /\d*\d\d.status/ } @files) {
+       s/.status$//;
+       push @ret, $_;
+#      print "$_ -> $_\n";
+    }
+    foreach (grep { /^[s0-9]$/ } @files) {
+       my $_1 = $_;
+       opendir $dir, $Globals{ "work-dir" } . "/db/".$_1;
+       @files = grep { /^\d$/ } readdir($dir);
+       closedir $dir;
+       foreach (@files) {
+           my $_2 = $_;
+           opendir $dir, $Globals{ "work-dir" } . "/db/".$_1."/".$_2;
+           @files = grep { /^\d$/ } readdir($dir);
+           close $dir;
+           foreach (@files) {
+               my $_3 = $_;
+               opendir $dir, $Globals{ "work-dir" } . "/db/".$_1."/".$_2."/".$_3;
+               @files = grep { /\d*\d\d.status/ } readdir($dir);
+               close $dir;
+               foreach (@files) {
+                   s/.status$//;
+                   push @ret, $_;
+#                  print "$_ -> $_1/$_2/$_3/$_\n";
+               }
+           }
+       }
+    }
+    return @ret;
+}
+
 1;
 
 END { }       # module clean-up code here (global destructor)