2007-12-17 [長年日記]

[Haskell] MIMEヘッダ中のコメントのパース

mime-string-0.3で、MIME形式のメッセージを処理するときに、コメントが入っているとうまく扱えないことがあります。以下のパッチで直ります。

diff -ur mime-string-0.3.orig/Codec/MIME/String/Headers.hs mime-string-0.3/Codec/MIME/String/Headers.hs
--- mime-string-0.3.orig/Codec/MIME/String/Headers.hs	2007-03-29 22:06:31.000000000 +0900
+++ mime-string-0.3/Codec/MIME/String/Headers.hs	2007-12-17 12:44:49.000000000 +0900
@@ -151,8 +151,8 @@
 p_comment :: Parser Char ()
 p_comment = ()
         <$  pChar '('
-        <*  pMany (() <$  pMany p_NO_WS_CTL <*  p_ccontent)
-        <*  pMany p_NO_WS_CTL
+        <*  pMany (() <$  p_FWS <*  p_ccontent)
+        <*  p_FWS
         <*  pChar ')'
 
 -- We might want to keep the result. If we do then we also need to
[]