From 8ad844e45c3f8a65ef5b725e9c6ac0f414b50fa4 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 6 Jul 2012 17:22:56 -0600 Subject: fix leading period before two-element extensions --- Backend/SHA.hs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'Backend') diff --git a/Backend/SHA.hs b/Backend/SHA.hs index 95ce4a770..cf61139e0 100644 --- a/Backend/SHA.hs +++ b/Backend/SHA.hs @@ -102,9 +102,13 @@ keyValueE size source = keyValue size source >>= maybe (return Nothing) addE } selectExtension :: FilePath -> String -selectExtension = join "." . reverse . take 2 . takeWhile shortenough . - reverse . split "." . takeExtensions +selectExtension f + | null es = "" + | otherwise = join "." ("":es) where + es = filter (not . null) $ reverse $ + take 2 $ takeWhile shortenough $ + reverse $ split "." $ takeExtensions f shortenough e | '\n' `elem` e = False -- newline in extension?! | otherwise = length e <= 4 -- long enough for "jpeg" -- cgit v1.2.3