From 7f454bace0442cd5ce22068ec1e098e964d82778 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Tue, 7 Jul 2020 20:37:35 +0000 Subject: hval: to_filename: return `undef' instead of empty string Returning an empty string for a filename makes no sense, so instead return `undef' so the caller can setup a fallback using the "//" operator. This fixes uninitialized variable warnings because split() on an empty string returns `undef', which caused to_filename to warn on s// and tr// ops. --- t/hval.t | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 't') diff --git a/t/hval.t b/t/hval.t index 38605c6f..e80a02ff 100644 --- a/t/hval.t +++ b/t/hval.t @@ -47,15 +47,17 @@ EOF is($html, $exp, 'only obfuscated relevant addresses'); -is('foo-bar', PublicInbox::Hval::to_filename('foo bar '), +is(PublicInbox::Hval::to_filename('foo bar '), 'foo-bar', 'to_filename has no trailing -'); -is('foo-bar', PublicInbox::Hval::to_filename("foo bar\nanother line\n"), +is(PublicInbox::Hval::to_filename("foo bar\nanother line\n"), 'foo-bar', 'to_filename has no repeated -, and nothing past LF'); -is('foo.bar', PublicInbox::Hval::to_filename("foo....bar"), +is(PublicInbox::Hval::to_filename("foo....bar"), 'foo.bar', 'to_filename squeezes -'); +is(PublicInbox::Hval::to_filename(''), undef, 'empty string returns undef'); + my $s = "\0\x07\n"; PublicInbox::Hval::src_escape($s); is($s, "\\0\\a\n", 'src_escape works as intended'); -- cgit v1.2.3-24-ge0c7