From 97c373996601916b73f9e6c50df590f19bd0ee07 Mon Sep 17 00:00:00 2001 From: doogie <> Date: Fri, 17 Aug 2001 05:49:36 -0800 Subject: [PATCH] [project @ 2001-08-17 06:49:36 by doogie] Make a getbugdir function, and modify getbugstatus and buglog to use it. Also, have it look in db-h/(which has the same layout as archive/) before looking in db/ for files. --- cgi/common.pl | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/cgi/common.pl b/cgi/common.pl index 2f0dc2b5..17f5b4f5 100644 --- a/cgi/common.pl +++ b/cgi/common.pl @@ -388,15 +388,23 @@ sub getmaintainers { return \%maintainer; } +sub getbugdir { + my ( $bugnum, $ext ) = @_; + my $archdir = sprintf "%02d", $bugnum % 100; + foreach ( ( "$gSpoolDir/db-h/$archdir", "$gSpoolDir/db", "$gSpoolDir/archive/$archdir" ) ) { + return $_ if ( -r "$_/$bugnum.$ext" ); + } + return undef; +} + sub getbugstatus { my $bugnum = shift; my %status; - unless (open(S,"$gSpoolDir/db/$bugnum.status")) { - my $archdir = sprintf "%02d", $bugnum % 100; - open(S,"$gSpoolDir/archive/$archdir/$bugnum.status" ) or return {}; - } + my $dir = getbugdir( $bugnum, "status" ); + return {} if ( !$dir ); + open S, "< $status{ file }"; my @lines = qw(originator date subject msgid package tags done forwarded mergedwith severity); while() { @@ -420,16 +428,10 @@ sub getbugstatus { sub buglog { my $bugnum = shift; - my $res; - $res = "$gSpoolDir/db/$bugnum.log"; - return $res if ( -e $res ); - - my $archdir = sprintf "%02d", $bugnum % 100; - $res = "$gSpoolDir/archive/$archdir/$bugnum.log"; - return $res if ( -e $res ); - - return ""; + my $dir = getbugdir( $bugnum, "log" ); + return "" if ( !$dir ); + return "$dir/$bugnum.log"; } -1 +1; -- 2.39.5