mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-10-24 00:49:47 +02:00
fix peek object
This commit is contained in:
@@ -506,7 +506,8 @@ peekObjectRAW ptr = do
|
|||||||
|
|
||||||
peekObjectArray :: Ptr a -> IO Object
|
peekObjectArray :: Ptr a -> IO Object
|
||||||
peekObjectArray ptr = do
|
peekObjectArray ptr = do
|
||||||
size <- (#peek msgpack_object, via.array.size) ptr
|
csize <- (#peek msgpack_object, via.array.size) ptr
|
||||||
|
let size = fromIntegral (csize :: Word32)
|
||||||
p <- (#peek msgpack_object, via.array.ptr) ptr
|
p <- (#peek msgpack_object, via.array.ptr) ptr
|
||||||
objs <- mapM (\i -> peekObject $ p `plusPtr`
|
objs <- mapM (\i -> peekObject $ p `plusPtr`
|
||||||
((#size msgpack_object) * i))
|
((#size msgpack_object) * i))
|
||||||
@@ -515,7 +516,8 @@ peekObjectArray ptr = do
|
|||||||
|
|
||||||
peekObjectMap :: Ptr a -> IO Object
|
peekObjectMap :: Ptr a -> IO Object
|
||||||
peekObjectMap ptr = do
|
peekObjectMap ptr = do
|
||||||
size <- (#peek msgpack_object, via.map.size) ptr
|
csize <- (#peek msgpack_object, via.map.size) ptr
|
||||||
|
let size = fromIntegral (csize :: Word32)
|
||||||
p <- (#peek msgpack_object, via.map.ptr) ptr
|
p <- (#peek msgpack_object, via.map.ptr) ptr
|
||||||
dat <- mapM (\i -> peekObjectKV $ p `plusPtr`
|
dat <- mapM (\i -> peekObjectKV $ p `plusPtr`
|
||||||
((#size msgpack_object_kv) * i))
|
((#size msgpack_object_kv) * i))
|
||||||
|
|||||||
Reference in New Issue
Block a user