From d43921823ea5a20f0677410e965a54dd19c2effe Mon Sep 17 00:00:00 2001 From: Hideyuki Tanaka <tanaka.hideyuki@gmail.com> Date: Sun, 30 May 2010 17:19:43 +0900 Subject: [PATCH 1/4] fix initialize pointer --- haskell/src/Data/MessagePack/Base.hsc | 1 + 1 file changed, 1 insertion(+) diff --git a/haskell/src/Data/MessagePack/Base.hsc b/haskell/src/Data/MessagePack/Base.hsc index 72c421ce..8c7b9f54 100644 --- a/haskell/src/Data/MessagePack/Base.hsc +++ b/haskell/src/Data/MessagePack/Base.hsc @@ -560,6 +560,7 @@ unpackObject z dat = allocaBytes (#size msgpack_object) $ \ptr -> BS.useAsCStringLen dat $ \(str, len) -> alloca $ \poff -> do + poke poff 0 ret <- msgpack_unpack str (fromIntegral len) poff z ptr case ret of (#const MSGPACK_UNPACK_SUCCESS) -> do From 0da22193bd628690bfc58d4c36d6d48493fa7f51 Mon Sep 17 00:00:00 2001 From: Hideyuki Tanaka <tanaka.hideyuki@gmail.com> Date: Sun, 30 May 2010 17:20:49 +0900 Subject: [PATCH 2/4] fix typo --- haskell/src/Data/MessagePack/Monad.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/haskell/src/Data/MessagePack/Monad.hs b/haskell/src/Data/MessagePack/Monad.hs index c718b8ad..15f21fe0 100644 --- a/haskell/src/Data/MessagePack/Monad.hs +++ b/haskell/src/Data/MessagePack/Monad.hs @@ -82,7 +82,7 @@ packToString m = do _ <- runPackerT m pc liftIO $ simpleBufferData sb --- | Execcute given serializer and write byte sequence to Handle. +-- | Execute given serializer and write byte sequence to Handle. packToHandle :: MonadIO m => Handle -> PackerT m r -> m () packToHandle h m = do sb <- packToString m From e61dc76ae1abb6235d09b52ad24383ccd75d5222 Mon Sep 17 00:00:00 2001 From: Hideyuki Tanaka <tanaka.hideyuki@gmail.com> Date: Sun, 30 May 2010 19:11:04 +0900 Subject: [PATCH 3/4] fix peek object --- haskell/src/Data/MessagePack/Base.hsc | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/haskell/src/Data/MessagePack/Base.hsc b/haskell/src/Data/MessagePack/Base.hsc index 8c7b9f54..b6cdc287 100644 --- a/haskell/src/Data/MessagePack/Base.hsc +++ b/haskell/src/Data/MessagePack/Base.hsc @@ -506,20 +506,22 @@ peekObjectRAW ptr = do peekObjectArray :: Ptr a -> IO Object peekObjectArray ptr = do - size <- (#peek msgpack_object, via.array.size) ptr - p <- (#peek msgpack_object, via.array.ptr) ptr - objs <- mapM (\i -> peekObject $ p `plusPtr` + csize <- (#peek msgpack_object, via.array.size) ptr + let size = fromIntegral (csize :: Word32) + p <- (#peek msgpack_object, via.array.ptr) ptr + objs <- mapM (\i -> peekObject $ p `plusPtr` ((#size msgpack_object) * i)) - [0..size-1] + [0..size-1] return $ ObjectArray objs peekObjectMap :: Ptr a -> IO Object peekObjectMap ptr = do - size <- (#peek msgpack_object, via.map.size) ptr - p <- (#peek msgpack_object, via.map.ptr) ptr - dat <- mapM (\i -> peekObjectKV $ p `plusPtr` + csize <- (#peek msgpack_object, via.map.size) ptr + let size = fromIntegral (csize :: Word32) + p <- (#peek msgpack_object, via.map.ptr) ptr + dat <- mapM (\i -> peekObjectKV $ p `plusPtr` ((#size msgpack_object_kv) * i)) - [0..size-1] + [0..size-1] return $ ObjectMap dat peekObjectKV :: Ptr a -> IO (Object, Object) From 5a12d36a0a68e97dcdd2e030486f6a67138c8b44 Mon Sep 17 00:00:00 2001 From: Hideyuki Tanaka <tanaka.hideyuki@gmail.com> Date: Sun, 30 May 2010 19:45:00 +0900 Subject: [PATCH 4/4] incr version --- haskell/msgpack.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/haskell/msgpack.cabal b/haskell/msgpack.cabal index 31cad3bc..82cdb525 100644 --- a/haskell/msgpack.cabal +++ b/haskell/msgpack.cabal @@ -1,5 +1,5 @@ Name: msgpack -Version: 0.2.1 +Version: 0.2.2 License: BSD3 License-File: LICENSE Author: Hideyuki Tanaka