]> Lady’s Gitweb - Gitweb/blobdiff - gitweb.perl
gitweb: fix disabling of "forks"
[Gitweb] / gitweb.perl
index 7bf096f7bc9071dfaa05b7c7d9b363858700a7674b6cd9291c79b016a7c1ca5e..fbee2c1e2bdc776b894ce1925aea5a497f541ddf14f66e81eab6af15d3c0bf3a 100755 (executable)
@@ -571,12 +571,17 @@ sub esc_url {
 }
 
 # replace invalid utf8 character with SUBSTITUTION sequence
-sub esc_html {
+sub esc_html ($;%) {
        my $str = shift;
+       my %opts = @_;
+
        $str = to_utf8($str);
        $str = escapeHTML($str);
        $str =~ s/\014/^L/g; # escape FORM FEED (FF) character (e.g. in COPYING file)
        $str =~ s/\033/^[/g; # "escape" ESCAPE (\e) character (e.g. commit 20a3847d8a5032ce41f90dcc68abfb36e6fee9b1)
+       if ($opts{'-nbsp'}) {
+               $str =~ s/ / /g;
+       }
        return $str;
 }
 
@@ -801,7 +806,7 @@ sub format_diff_line {
                $diff_class = " incomplete";
        }
        $line = untabify($line);
-       return "<div class=\"diff$diff_class\">" . esc_html($line) . "</div>\n";
+       return "<div class=\"diff$diff_class\">" . esc_html($line, -nbsp=>1) . "</div>\n";
 }
 
 ## ----------------------------------------------------------------------
@@ -918,9 +923,11 @@ sub git_get_projects_list {
        if (-d $projects_list) {
                # search in directory
                my $dir = $projects_list . ($filter ? "/$filter" : '');
+               # remove the trailing "/"
+               $dir =~ s!/+$!!;
                my $pfxlen = length("$dir");
 
-               my $check_forks = gitweb_check_feature('forks');
+               my ($check_forks) = gitweb_check_feature('forks');
 
                File::Find::find({
                        follow_fast => 1, # follow symbolic links
@@ -2206,7 +2213,7 @@ sub git_patchset_body {
 sub git_project_list_body {
        my ($projlist, $order, $from, $to, $extra, $no_header) = @_;
 
-       my $check_forks = gitweb_check_feature('forks');
+       my ($check_forks) = gitweb_check_feature('forks');
 
        my @projects;
        foreach my $pr (@$projlist) {
@@ -2608,7 +2615,9 @@ sub git_summary {
        my @taglist  = git_get_tags_list(15);
        my @headlist = git_get_heads_list(15);
        my @forklist;
-       if (gitweb_check_feature('forks')) {
+       my ($check_forks) = gitweb_check_feature('forks');
+
+       if ($check_forks) {
                @forklist = git_get_projects_list($project);
        }
 
@@ -3037,7 +3046,7 @@ sub git_blob {
                $nr++;
                $line = untabify($line);
                printf "<div class=\"pre\"><a id=\"l%i\" href=\"#l%i\" class=\"linenr\">%4i</a> %s</div>\n",
-                      $nr, $nr, $nr, esc_html($line);
+                      $nr, $nr, $nr, esc_html($line, -nbsp=>1);
        }
        close $fd
                or print "Reading blob failed.\n";
This page took 0.26383 seconds and 4 git commands to generate.