[PATCH] gitweb: use correct mime type even if filename has multiple dots.
- From
Martin Waitz <tali@admingilde.org>
- Date
- Sep 16, 2006, 21:09 UTC
- Message-ID
- <20060916210933.GX17042@admingilde.org>
Match the last part of the filename agains the extention from the mime database instead of insisting that it starts at the first dot.
Signed-off-by: Martin Waitz <tali@admingilde.org> --- gitweb/gitweb.perl | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index ee561c6..7501251 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -1106,7 +1106,6 @@ sub mimetype_guess_file { my $mimemap = shift; -r $mimemap or return undef; - my %mimemap; open(MIME, $mimemap) or return undef; while (<MIME>) { next if m/^#/; # skip comments @@ -1114,14 +1113,16 @@ sub mimetype_guess_file { if (defined $exts) { my @exts = split(/\s+/, $exts); foreach my $ext (@exts) { - $mimemap{$ext} = $mime; + if ($filename =~ /\.$ext$/) { + close(MIME); + return $mime; + } } } } close(MIME); - $filename =~ /\.(.*?)$/; - return $mimemap{$1}; + return undef; } sub mimetype_guess {
-- 1.4.2.gb8b6b -- Martin Waitz