]> Lady’s Gitweb - Gitweb/commitdiff
gitweb: Sort CGI parameters returned by href()
authorJakub Narebski <redacted>
Tue, 22 Aug 2006 17:05:25 +0000 (19:05 +0200)
committerLady <redacted>
Mon, 6 Apr 2026 04:07:10 +0000 (00:07 -0400)
Restore pre-1c2a4f5addce479c619057c6cdc841802139982f
ordering of CGI parameters.

Signed-off-by: Jakub Narebski <redacted>
Signed-off-by: Junio C Hamano <redacted>
gitweb.perl

index 21fb28e5751d7669fbcae89c3e9ed0725e32184d4de2a041395b9981d23170c8..a54b5564c1fd30783d271f12690b8df2f504cefd08bd281d69166bf370da8f98 100755 (executable)
@@ -267,7 +267,9 @@ exit;
 ## action links
 
 sub href(%) {
-       my %mapping = (
+       my %params = @_;
+
+       my @mapping = (
                action => "a",
                project => "p",
                file_name => "f",
@@ -278,18 +280,18 @@ sub href(%) {
                page => "pg",
                searchtext => "s",
        );
+       my %mapping = @mapping;
 
-       my %params = @_;
        $params{"project"} ||= $project;
 
-       my $href = "$my_uri?";
-       $href .= esc_param( join(";",
-               map {
-                       defined $params{$_} ? "$mapping{$_}=$params{$_}" : ()
-               } keys %params
-       ) );
-
-       return $href;
+       my @result = ();
+       for (my $i = 0; $i < @mapping; $i += 2) {
+               my ($name, $symbol) = ($mapping[$i], $mapping[$i+1]);
+               if (defined $params{$name}) {
+                       push @result, $symbol . "=" . esc_param($params{$name});
+               }
+       }
+       return "$my_uri?" . join(';', @result);
 }
 
 
This page took 0.217041 seconds and 4 git commands to generate.