From: Matthieu Moy Date: Wed, 4 Jan 2012 10:07:45 +0000 (+0100) Subject: gitweb: accept trailing "/" in $project_list X-Git-Url: https://git.ladys.computer/Gitweb/commitdiff_plain/1ffb8bae6c78d1c4956c899bbe879530523bfb0a9f514522210bb24cbaab4507?ds=sidebyside gitweb: accept trailing "/" in $project_list The current code is removing the trailing "/", but computing the string length on the previous value, i.e. with the trailing "/". Later in the code, we do my $path = substr($File::Find::name, $pfxlen + 1); And the "$pfxlen + 1" is supposed to mean "the length of the prefix, plus 1 for the / separating the prefix and the path", but with an incorrect $pfxlen, this basically eats the first character of the path, and yields "404 - No projects found". While we're there, also fix $pfxdepth to use $dir, although a change of 1 in the depth shouldn't really matter. Signed-off-by: Matthieu Moy Signed-off-by: Junio C Hamano --- diff --git a/gitweb.perl b/gitweb.perl index fb4cf84..247b446 100755 --- a/gitweb.perl +++ b/gitweb.perl @@ -2837,8 +2837,8 @@ sub git_get_projects_list { my $dir = $projects_list; # remove the trailing "/" $dir =~ s!/+$!!; - my $pfxlen = length("$projects_list"); - my $pfxdepth = ($projects_list =~ tr!/!!); + my $pfxlen = length("$dir"); + my $pfxdepth = ($dir =~ tr!/!!); # when filtering, search only given subdirectory if ($filter) { $dir .= "/$filter";