mirror of
https://github.com/msgpack/msgpack-python.git
synced 2026-02-06 17:59:52 +00:00
commit
2f6061cb4f
3 changed files with 7 additions and 6 deletions
|
|
@ -4,7 +4,7 @@
|
|||
from cpython cimport *
|
||||
cdef extern from "Python.h":
|
||||
ctypedef struct PyObject
|
||||
cdef int PyObject_AsReadBuffer(object o, const void* buff, Py_ssize_t* buf_len) except -1
|
||||
cdef int PyObject_AsReadBuffer(object o, const void** buff, Py_ssize_t* buf_len) except -1
|
||||
|
||||
from libc.stdlib cimport *
|
||||
from libc.string cimport *
|
||||
|
|
@ -95,7 +95,7 @@ def unpackb(object packed, object object_hook=None, object list_hook=None,
|
|||
cdef char* cenc = NULL
|
||||
cdef char* cerr = NULL
|
||||
|
||||
PyObject_AsReadBuffer(packed, <const void*>&buf, &buf_len)
|
||||
PyObject_AsReadBuffer(packed, <const void**>&buf, &buf_len)
|
||||
|
||||
if encoding is not None:
|
||||
if isinstance(encoding, unicode):
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ static inline int unpack_callback_uint64(unpack_user* u, uint64_t d, msgpack_unp
|
|||
{
|
||||
PyObject *p;
|
||||
if (d > LONG_MAX) {
|
||||
p = PyLong_FromUnsignedLongLong((unsigned long)d);
|
||||
p = PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)d);
|
||||
} else {
|
||||
p = PyInt_FromLong((long)d);
|
||||
}
|
||||
|
|
@ -103,7 +103,7 @@ static inline int unpack_callback_int64(unpack_user* u, int64_t d, msgpack_unpac
|
|||
{
|
||||
PyObject *p;
|
||||
if (d > LONG_MAX || d < LONG_MIN) {
|
||||
p = PyLong_FromLongLong((unsigned long)d);
|
||||
p = PyLong_FromLongLong((unsigned PY_LONG_LONG)d);
|
||||
} else {
|
||||
p = PyInt_FromLong((long)d);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,11 +12,12 @@ from io import BytesIO
|
|||
def check(data, use_list=False):
|
||||
re = unpackb(packb(data), use_list=use_list)
|
||||
assert re == data
|
||||
assert type(re) == type(data)
|
||||
|
||||
def testPack():
|
||||
test_data = [
|
||||
0, 1, 127, 128, 255, 256, 65535, 65536,
|
||||
-1, -32, -33, -128, -129, -32768, -32769,
|
||||
0, 1, 127, 128, 255, 256, 65535, 65536, 4294967295, 4294967296,
|
||||
-1, -32, -33, -128, -129, -32768, -32769, -4294967296, -4294967297,
|
||||
1.0,
|
||||
b"", b"a", b"a"*31, b"a"*32,
|
||||
None, True, False,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue