X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/855b757f37af9af00be77b1f668270a8a8c3db11..37634db5883194ed5224237dcd2ed4f08d0aa8b2:/IkiWiki/Plugin/inline.pm?ds=inline

diff --git a/IkiWiki/Plugin/inline.pm b/IkiWiki/Plugin/inline.pm
index 5ea5f35af..f40956821 100644
--- a/IkiWiki/Plugin/inline.pm
+++ b/IkiWiki/Plugin/inline.pm
@@ -121,8 +121,11 @@ sub sessioncgi ($$) {
 	if ($q->param('do') eq 'blog') {
 		my $page=titlepage(decode_utf8(scalar $q->param('title')));
 		$page=~s/(\/)/"__".ord($1)."__"/eg; # don't create subdirs
+		if (! length $page) {
+			error(gettext("please enter a page title"));
+		}
 		# if the page already exists, munge it to be unique
-		my $from=$q->param('from');
+		my $from=decode_utf8($q->param('from'));
 		my $add="";
 		while (exists $IkiWiki::pagecase{lc($from."/".$page.$add)}) {
 			$add=1 unless length $add;
@@ -183,7 +186,7 @@ sub preprocess_inline (@) {
 	my $feedonly=yesno($params{feedonly});
 
 	# Backwards compatibility
-	if (defined $params{show} && $params{show} =~ m/^\d+$/) {
+	if (defined $params{show} && $params{show} =~ m/^-?\d+$/) {
 		$params{limit} = $params{show};
 		delete $params{show};
 	}
@@ -613,7 +616,7 @@ sub absolute_urls ($$) {
 					$v=$baseurl.$v; # anchor
 				}
 				elsif ($dv=~/^(?!\w+:)[^\/]/) {
-					$v=$url.$v; # relative url
+					$v=URI->new_abs($v, $url)->canonical; # relative url
 				}
 				elsif ($dv=~/^\//) {
 					if (! defined $urltop) {