This is a corner case spotted while fixing UTF-8 syslogging.
- # keep a copy to avoid editing the original config repeatedly
- my $wikiname = $config{wikiname};
- utf8::encode($wikiname);
- my $message = join(" ", @_);
+ my $message = "[$config{wikiname}] ".join(" ", @_);
- Sys::Syslog::syslog($type, "[$wikiname] %s", $message);
+ Sys::Syslog::syslog($type, "%s", $message);
};
if ($@) {
print STDERR "failed to syslog: $@" unless $log_failed;
};
if ($@) {
print STDERR "failed to syslog: $@" unless $log_failed;
$IkiWiki::config{wikiname} = 'ASCII';
is(debug('test'), '', 'plain ASCII syslog');
$IkiWiki::config{wikiname} = 'ASCII';
is(debug('test'), '', 'plain ASCII syslog');
-$IkiWiki::config{wikiname} = 'not ⒶSCII';
+$IkiWiki::config{wikiname} = 'not ⒶSCII and has %s in it';
is(debug('𝗧ĕṡҭ'), '', 'UTF8 syslog');
my $orig = $IkiWiki::config{wikiname};
is(debug('test'), '', 'check for idempotency');
is(debug('𝗧ĕṡҭ'), '', 'UTF8 syslog');
my $orig = $IkiWiki::config{wikiname};
is(debug('test'), '', 'check for idempotency');