2010年3月16日

[mew-dist 29158] Re:cmewが例外で終わる

北口です。

結局Win32でのコンパイルの件は、私の環境に超古いgmp.dllが残って
いて、libgmp.aではなくこのDLLの方を見に行ったためでした(-lXXXで
DLLも見に行くとは)。最初にかずさんにヒントを頂いていたのに、
お騒がせしました m(__)m

で、smewはできたのですが、cmewの方でコンパイルエラーです。


Stat.hs:34:13:
No instance for (Integral FILETIME)
arising from a use of `fileTimeToUnixTime' at Stat.hs:34:13-30
Possible fix: add an instance declaration for (Integral FILETIME)
In the second argument of `(.)', namely `fileTimeToUnixTime'
In the first argument of `($)', namely
`return . fileTimeToUnixTime'
In the expression: return . fileTimeToUnixTime $ ctime

これは、Stat.hsで、

(ctime,_,_) <- getFileTime fh ★fhからFILETIMEをctimeに拾ってきて、
closeHandle fh
return . fileTimeToUnixTime $ ctime ★ctimeをfileTimeToUnixTimeに渡すと、
where
-- http://support.microsoft.com/kb/167296/en-us
-- 100 nano seconds since 1 Jan 1601
-- MS: _FILETIME = {DWORD,DWORD} = {Word32,Word32}
-- Haskell: FILETIME == DDWORD == Word64
fileTimeToUnixTime x = (fromIntegral x - 116444736000000000) `div` 10000000
★ここに渡るんだけど、この処理がFILETIMEを扱っていない?

という感じじゃないかなと思うのですが、Haskellは手が出ません...
すみませんが、修正お願いします。


--
Shuichi KITAGUCHI // kit@xxxxx / ki@xxxxx


投稿者 xml-rpc : 2010年3月16日 00:38
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/94145
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。