X-Git-Url: http://www.git.stargrave.org/?p=public-inbox.git;a=blobdiff_plain;f=lib%2FPublicInbox%2FInboxWritable.pm;h=e8ecd3fba37023f51669a8abeb32e57491b41e8c;hp=1f3f66728fcc25ce3b1ee1d3c145cf586aec057e;hb=9447bac572fccad88f8a1aacf0cd3aceef787182;hpb=3e5b497d0f7d415140da2caabf267d62711b83b4 diff --git a/lib/PublicInbox/InboxWritable.pm b/lib/PublicInbox/InboxWritable.pm index 1f3f6672..e8ecd3fb 100644 --- a/lib/PublicInbox/InboxWritable.pm +++ b/lib/PublicInbox/InboxWritable.pm @@ -8,6 +8,7 @@ use warnings; use base qw(PublicInbox::Inbox); use PublicInbox::Import; use PublicInbox::Filter::Base qw(REJECT); +use Errno qw(ENOENT); use constant { PERM_UMASK => 0, @@ -135,16 +136,11 @@ sub is_maildir_path ($) { sub mime_from_path ($) { my ($path) = @_; if (open my $fh, '<', $path) { - local $/; - my $str = <$fh>; - $str or return; - return PublicInbox::Eml->new(\$str); - } elsif ($!{ENOENT}) { - # common with Maildir - return; - } else { - warn "failed to open $path: $!\n"; - return; + my $str = do { local $/; <$fh> } or return; + PublicInbox::Eml->new(\$str); + } else { # ENOENT is common with Maildir + warn "failed to open $path: $!\n" if $! != ENOENT; + undef; } }