]> Lady’s Gitweb - Gitweb/blobdiff - gitweb.cgi
escape ' ' with '+' in url's
[Gitweb] / gitweb.cgi
index 9fa1f09add73f19f73e48001ea834c9aff57a2ab0e707cac3edb17359eb145d3..08c834d28329ff3eb7bfee2c44e9a5e902ec56cdf155189412388a957a8958e7 100755 (executable)
@@ -15,7 +15,7 @@ use CGI::Carp qw(fatalsToBrowser);
 use Fcntl ':mode';
 
 my $cgi = new CGI;
 use Fcntl ':mode';
 
 my $cgi = new CGI;
-my $version =          "248";
+my $version =          "249";
 my $my_url =           $cgi->url();
 my $my_uri =           $cgi->url(-absolute => 1);
 my $rss_link = "";
 my $my_url =           $cgi->url();
 my $my_uri =           $cgi->url(-absolute => 1);
 my $rss_link = "";
@@ -144,7 +144,7 @@ sub validate_input {
        if ($input =~ m/(^|\/)(|\.|\.\.)($|\/)/) {
                return undef;
        }
        if ($input =~ m/(^|\/)(|\.|\.\.)($|\/)/) {
                return undef;
        }
-       if ($input =~ m/[^a-zA-Z0-9_\.\/\-\+\#\~]/) {
+       if ($input =~ m/[^a-zA-Z0-9_ \.\/\-\+\#\~]/) {
                return undef;
        }
        return $input;
                return undef;
        }
        return $input;
@@ -209,8 +209,8 @@ if (!defined $action || $action eq "summary") {
 
 sub esc {
        my $str = shift;
 
 sub esc {
        my $str = shift;
+       $str =~ s/\+/%2B/g;
        $str =~ s/ /\+/g;
        $str =~ s/ /\+/g;
-       $str =~ s/\+/%2b/g;
        return $str;
 }
 
        return $str;
 }
 
@@ -580,7 +580,7 @@ sub git_diff_print {
                close $fd;
        }
 
                close $fd;
        }
 
-       open my $fd, "-|", "/usr/bin/diff -u -p -L $from_name -L $to_name $from_tmp $to_tmp";
+       open my $fd, "-|", "/usr/bin/diff -u -p -L \'$from_name\' -L \'$to_name\' $from_tmp $to_tmp";
        if ($format eq "plain") {
                undef $/;
                print <$fd>;
        if ($format eq "plain") {
                undef $/;
                print <$fd>;
@@ -2029,7 +2029,7 @@ sub git_history {
              "</div>\n";
        print "<div class=\"page_path\"><b>/$file_name</b><br/></div>\n";
 
              "</div>\n";
        print "<div class=\"page_path\"><b>/$file_name</b><br/></div>\n";
 
-       open my $fd, "-|", "$gitbin/git-rev-list $hash | $gitbin/git-diff-tree -r --stdin $file_name";
+       open my $fd, "-|", "$gitbin/git-rev-list $hash | $gitbin/git-diff-tree -r --stdin \'$file_name\'";
        my $commit;
        print "<table cellspacing=\"0\">\n";
        my $alternate = 0;
        my $commit;
        print "<table cellspacing=\"0\">\n";
        my $alternate = 0;
@@ -2167,7 +2167,7 @@ sub git_search {
 
        if ($pickaxe_search) {
                $/ = "\n";
 
        if ($pickaxe_search) {
                $/ = "\n";
-               open my $fd, "-|", "$gitbin/git-rev-list $hash | $gitbin/git-diff-tree -r --stdin -S$searchtext";
+               open my $fd, "-|", "$gitbin/git-rev-list $hash | $gitbin/git-diff-tree -r --stdin -S\'$searchtext\'";
                undef %co;
                my @files;
                while (my $line = <$fd>) {
                undef %co;
                my @files;
                while (my $line = <$fd>) {
This page took 0.230052 seconds and 4 git commands to generate.