From: Jakub Narebski Date: Tue, 22 Aug 2006 17:05:25 +0000 (+0200) Subject: gitweb: Sort CGI parameters returned by href() X-Git-Tag: v1.4.3-rc1~168^2~27 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=498fe00201401b766a200cf423a8ec42b5d5643e;p=git.git gitweb: Sort CGI parameters returned by href() Restore pre-1c2a4f5addce479c619057c6cdc841802139982f ordering of CGI parameters. Signed-off-by: Jakub Narebski Signed-off-by: Junio C Hamano --- diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index 43b160048..50083e301 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -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); }