diff options
Diffstat (limited to 'Codec/Encryption/OpenPGP/ASCIIArmor/Multipart.hs')
-rw-r--r-- | Codec/Encryption/OpenPGP/ASCIIArmor/Multipart.hs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Codec/Encryption/OpenPGP/ASCIIArmor/Multipart.hs b/Codec/Encryption/OpenPGP/ASCIIArmor/Multipart.hs index 385074f..0334c7e 100644 --- a/Codec/Encryption/OpenPGP/ASCIIArmor/Multipart.hs +++ b/Codec/Encryption/OpenPGP/ASCIIArmor/Multipart.hs | |||
@@ -13,11 +13,12 @@ import Data.ByteString.Lazy (ByteString) | |||
13 | import qualified Data.ByteString.Lazy as BL | 13 | import qualified Data.ByteString.Lazy as BL |
14 | 14 | ||
15 | multipartMerge :: [Armor] -> Armor | 15 | multipartMerge :: [Armor] -> Armor |
16 | multipartMerge as = go as (Armor ArmorMessage [] BL.empty) | 16 | multipartMerge as' = go as' (Armor ArmorMessage [] BL.empty) |
17 | where | 17 | where |
18 | go :: [Armor] -> Armor -> Armor | 18 | go :: [Armor] -> Armor -> Armor |
19 | go [] state = state | 19 | go [] state = state |
20 | go (Armor at hs bs:as) state = go as (go' at hs bs state) | 20 | go (Armor at hs bs:as) state = go as (go' at hs bs state) |
21 | go _ _ = error "This shouldn't happen." | ||
21 | go' :: ArmorType -> [(String,String)] -> ByteString -> Armor -> Armor | 22 | go' :: ArmorType -> [(String,String)] -> ByteString -> Armor -> Armor |
22 | go' (ArmorSplitMessage _ _) hs bs (Armor _ ohs obs) = Armor ArmorMessage (ohs ++ hs) (obs `BL.append` bs) | 23 | go' (ArmorSplitMessage _ _) hs bs (Armor _ ohs obs) = Armor ArmorMessage (ohs ++ hs) (obs `BL.append` bs) |
23 | go' (ArmorSplitMessageIndefinite _) hs bs (Armor _ ohs obs) = Armor ArmorMessage (ohs ++ hs) (obs `BL.append` bs) | 24 | go' (ArmorSplitMessageIndefinite _) hs bs (Armor _ ohs obs) = Armor ArmorMessage (ohs ++ hs) (obs `BL.append` bs) |