diff --git a/MDict.hs b/MDict.hs index ec4fc26..406bbba 100644 --- a/MDict.hs +++ b/MDict.hs @@ -75,8 +75,8 @@ isMDDFile path = map toLower (takeExtension path) == ".mdd" -- FFI imports foreign import ccall "mdict_init" c_mdict_init :: CString -> IO (Ptr ()) -foreign import ccall "mdict_destory" c_mdict_destroy :: Ptr () -> IO CInt -foreign import ccall "&mdict_destory" raw_mdict_destroy_finalizer :: FunPtr (Ptr () -> IO CInt) +foreign import ccall "mdict_destroy" c_mdict_destroy :: Ptr () -> IO CInt +foreign import ccall "&mdict_destroy" raw_mdict_destroy_finalizer :: FunPtr (Ptr () -> IO CInt) foreign import ccall "mdict_lookup" c_mdict_lookup :: Ptr () -> CString -> Ptr (Ptr CChar) -> IO () foreign import ccall "mdict_atomic_lookup" c_mdict_atomic_lookup :: CString -> CString -> IO CString foreign import ccall "mdict_locate" c_mdict_locate :: Ptr () -> CString -> Ptr (Ptr CChar) -> CInt -> IO () diff --git a/cli-example/Main.hs b/cli-example/Main.hs index 99cc0d0..56695f8 100644 --- a/cli-example/Main.hs +++ b/cli-example/Main.hs @@ -3,17 +3,22 @@ import System.Environment (getArgs) import System.Exit (exitFailure) import Control.Monad (when) -import MDict (lookupInCollection) +import MDict main :: IO () main = do - args <- getArgs - when (length args < 2) $ do - putStrLn "Usage: Main " - exitFailure + args <- getArgs + when (length args < 2) $ do + putStrLn "Usage: Main " + exitFailure - let dictDir = args !! 0 - queryKey = args !! 1 + let dict = args !! 0 + queryKey = args !! 1 - -- Process all files - lookupInCollection dictDir queryKey + res <- processDictionary dict queryKey + html <- case res of + Left err -> error err + Right h -> return h + + + putStrLn (html)