[mew-win32 4588] Re: Haskell 版 cmew の差 分更新

Masamichi HOSODA <[email protected]> Fri, 09 Sep 2011 19:28:03 +0900 (JST)
Newsgroups gmane.mail.mew.windows
Message-ID <[email protected]>
細田です。

> 本来は、他の OS の動作も考えると、
> getChangeTime が Nothing を返したときだけ、
> getModificationTime を使うようにする、とかすべきかと思いますが、
> どうやって書けばいいのか分からず、力尽きました…。

ですが、以下のように書けば良さそうな気がしてきました。
とりあえず Windows では差分更新も含めて動いています。

--- Index.hs.org	2011-09-06 17:54:08.000000000 +0900
+++ Index.hs	2011-09-09 00:00:00.000000000 +0900
@@ -193,7 +193,9 @@
             tm <- getChangeTime file
             case tm of
                 Just x  -> return . (dbmt <) . utctimeToInteger $ x
-                Nothing -> return False
+                Nothing -> do
+		  tmm <- getModificationTime file
+		  return . (dbmt <) . utctimeToInteger $ tmm
            else return False
     deleteMsgIfMoved msg = case dbModTime ctl of
       Nothing   -> return True

 細田 真道 <[email protected]>