diff options
author | Charles Plessy <plessy@debian.org> | 2014-05-06 14:20:38 +0900 |
---|---|---|
committer | Charles Plessy <plessy@debian.org> | 2014-05-06 14:20:38 +0900 |
commit | 519acae6c39196102af17aede5ff005f2adb71a7 (patch) | |
tree | f82c730af6fb2458e7754bb7176c4df9df2f4698 | |
parent | 642d6a93e91a57d066c11103f0bbe77ff27436cc (diff) |
Call ExtensionMimetype and PatternMimetype directly instead of through FileMimetype.
This will be useful to easily add MagicMimetype and remove PatternMimetype later.
-rwxr-xr-x | run-mailcap | 43 |
1 files changed, 15 insertions, 28 deletions
diff --git a/run-mailcap b/run-mailcap index bf2f815..36dd965 100755 --- a/run-mailcap +++ b/run-mailcap @@ -277,20 +277,20 @@ sub EncodeFile { sub ExtensionMimetype { - my($ext) = @_; + my($file) = @_; + my($ext) = ($file =~ m!\.([^/\.]+)$!); my($typ); - - unless ($donemimetypes) { - ReadMimetypes($usrmimetyp); - ReadMimetypes($locmimetyp); - ReadMimetypes($shrmimetyp); - ReadMimetypes($etcmimetyp); - $donemimetypes = 1; + if ($ext) { + unless ($donemimetypes) { + ReadMimetypes($usrmimetyp); + ReadMimetypes($locmimetyp); + ReadMimetypes($shrmimetyp); + ReadMimetypes($etcmimetyp); + $donemimetypes = 1; + } + $typ = $mimetypes{lc($ext)}; + print STDERR " - extension \"$ext\" maps to mime-type \"$typ\"\n" if $debug; } - - $typ = $mimetypes{lc($ext)}; - - print STDERR " - extension \"$ext\" maps to mime-type \"$typ\"\n" if $debug; return $typ; } @@ -313,20 +313,6 @@ sub PatternMimetype { -sub FileMimetype { - my($file) = @_; - my($ext) = ($file =~ m!\.([^/\.]+)$!); - - my $type; - - $type = ExtensionMimetype($ext) if $ext; - $type = PatternMimetype($file) unless $type; - - return $type; -} - - - @files = (); foreach (@ARGV) { print STDERR " - parsing parameter \"$_\"\n" if $debug; @@ -355,10 +341,11 @@ foreach (@ARGV) { if ($code) { my $efile = $file; $efile =~ s/\.[^\.]+$//; - $type = FileMimetype($efile); + $type = ExtensionMimetype($efile); } else { - $type = FileMimetype($file); + $type = ExtensionMimetype($file); } + $type = PatternMimetype($file) unless $type; if ($type) { push @files,"${type}:${code}:${file}"; } else { |