]> git.donarmstrong.com Git - debbugs.git/blobdiff - cgi/search.cgi
don't go past end of @msg when setting
[debbugs.git] / cgi / search.cgi
index 554b4ad5a1a618b2ada748bae15abb27ce14b248..b1f5e09f84724a8b3e38377db960073d275b7ce9 100755 (executable)
@@ -14,24 +14,29 @@ BEGIN{
 
 use CGI::Simple;
 
-use CGI::Alert 'don@donarmstrong.com';
+# use CGI::Alert 'nobody@example.com';
 
 use Search::Estraier;
 use Debbugs::Config qw(:config);
 use Debbugs::Estraier;
-use Debbugs::CGI qw(htmlize_packagelinks html_escape);
+use Debbugs::CGI qw(htmlize_packagelinks html_escape cgi_parameters);
 use HTML::Entities qw(encode_entities);
 
 my $q = new CGI::Simple;
 
 #my %var_defaults = (attr => 1,);
 
-my %cgi_var = cgi_parameters($q);
+my %cgi_var = cgi_parameters(query => $q,
+                            single => [qw(phrase max_results order_field order_operator),
+                                       qw(skip prev next),
+                                      ],
+                            default => {phrase      => '',
+                                        max_results => 10,
+                                        skip        => 0,
+                                       },
+                           );
 
-$cgi_var{phrase} = '' if not defined $cgi_var{phrase};
-$cgi_var{max_results} = 10 if not defined $cgi_var{max_results};
 $cgi_var{attribute} = parse_attribute(\%cgi_var) || [];
-$cgi_var{skip} = 0 if not defined $cgi_var{skip};
 
 my @results;
 
@@ -155,7 +160,7 @@ my %attributes = ('@cdate'  => {name => 'Date',
                                type      => 'str',
                               },
                  subject   => {name => 'Bug Title',
-                               type      => 'num',
+                               type      => 'str',
                               },
                  date      => {name => 'Submission date',
                                type      => 'num',
@@ -315,15 +320,3 @@ sub parse_attribute {
      }
      return \@attributes;
 }
-
-
-sub cgi_parameters {
-     my ($q) = @_;
-
-     my %param;
-     foreach my $paramname ($q->param) {
-         my @value = $q->param($paramname);
-         $param{$paramname} = @value > 1 ? [@value] : $value[0];
-     }
-     return %param;
-}