return unless defined $plugin;
my ($plugin_read, $plugin_write);
- my $pid = open2($plugin_read, $plugin_write, $plugin);
+ my $pid = open2($plugin_read, $plugin_write,
+ IkiWiki::possibly_foolish_untaint($plugin));
# open2 doesn't respect "use open ':utf8'"
binmode($plugin_read, ':utf8');
} #}}}
package IkiWiki::RPC::XML;
+use Memoize;
sub getvar ($$$) { #{{{
my $plugin=shift;
IkiWiki::Plugin::external::rpc_call($plugin, $params{call}, @_)
};
eval qq{*$params{name}=\$sub};
+ memoize($params{name}) if $params{memoize};
return 1;
} #}}}