aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/cvs.pm
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2012-03-13 11:49:29 -0400
committerJoey Hess <joey@kitenet.net>2012-03-13 11:50:39 -0400
commitf0733e6b9650e518edbc635b7fdb22b44155732d (patch)
tree89fad2ea5357c93f166aab079cc80a215b21df11 /IkiWiki/Plugin/cvs.pm
parentd903f2c2fa337c28ef1369caa606dd012100ad4e (diff)
downloadikiwiki-f0733e6b9650e518edbc635b7fdb22b44155732d.tar
ikiwiki-f0733e6b9650e518edbc635b7fdb22b44155732d.tar.gz
URI escape filename when generating the diffurl.
ikiwiki source files can contain at least one character that needs to be escaped in an url: +
Diffstat (limited to 'IkiWiki/Plugin/cvs.pm')
-rw-r--r--IkiWiki/Plugin/cvs.pm4
1 files changed, 3 insertions, 1 deletions
diff --git a/IkiWiki/Plugin/cvs.pm b/IkiWiki/Plugin/cvs.pm
index 0a6cbfaf6..788f51167 100644
--- a/IkiWiki/Plugin/cvs.pm
+++ b/IkiWiki/Plugin/cvs.pm
@@ -33,6 +33,7 @@ use warnings;
use strict;
use IkiWiki;
+use URI::Escape q{uri_escape_utf8};
use File::chdir;
@@ -315,7 +316,8 @@ sub rcs_recentchanges ($) {
$oldrev =~ s/INITIAL/0/;
$newrev =~ s/\(DEAD\)//;
my $diffurl = defined $config{diffurl} ? $config{diffurl} : "";
- $diffurl=~s/\[\[file\]\]/$page/g;
+ my $epage = uri_escape_utf8($page);
+ $diffurl=~s/\[\[file\]\]/$epage/g;
$diffurl=~s/\[\[r1\]\]/$oldrev/g;
$diffurl=~s/\[\[r2\]\]/$newrev/g;
unshift @pages, {