From 3bc46d19146c73a7984bacb2b8685989b6a4b2da Mon Sep 17 00:00:00 2001 From: Sigbjorn Finne Date: Fri, 19 Sep 2008 09:55:01 -0700 Subject: fix terrible QP encoding snafu + tidyups --- Codec/MIME/QuotedPrintable.hs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'Codec/MIME/QuotedPrintable.hs') diff --git a/Codec/MIME/QuotedPrintable.hs b/Codec/MIME/QuotedPrintable.hs index a6dc99a..ec57ba5 100644 --- a/Codec/MIME/QuotedPrintable.hs +++ b/Codec/MIME/QuotedPrintable.hs @@ -4,7 +4,7 @@ -- Copyright : (c) Galois, Inc. 2008 -- License : BSD3 -- --- Maintainer: +-- Maintainer: Sigbjorn Finne -- Stability : provisional -- Portability: -- @@ -42,14 +42,14 @@ encodeLength :: Int -> String -> String encodeLength _ "" = "" encodeLength n (x:xs) | n >= 72 = '=':'\r':'\n':encodeLength 0 (x:xs) -encodeLength n ('=':xs) +encodeLength _ ('=':xs) = '=':'3':'D':encodeLength 0 xs encodeLength n (x:xs) | ox >= 0x100 = error ("QuotedPrintable.encode: encountered > 8 bit character: " ++ show (x,ox)) | n >= 72 = '=':'\r':'\n':encodeLength 0 (x:xs) | ox >= 0x21 && ox <= 0x7e = x : encodeLength (n+1) xs | ox == 0x09 || ox == 0x20 = x : encodeLength (n+1) xs - | otherwise = '=':'\r':'\n':encodeLength 0 (x:xs) + | otherwise = '=':showH (ox `div` 0x10): showH (ox `mod` 0x10):encodeLength (n+3) xs where ox = ord x showH v -- cgit v1.2.3