@@ -37,10 +37,10 @@ cdef extern from "unpack.h":
37
37
ctypedef struct unpack_context:
38
38
msgpack_user user
39
39
PyObject* obj
40
- size_t count
40
+ Py_ssize_t count
41
41
42
42
ctypedef int (* execute_fn)(unpack_context* ctx, const char * data,
43
- size_t len , size_t * off) except ? - 1
43
+ Py_ssize_t len , Py_ssize_t * off) except ? - 1
44
44
execute_fn unpack_construct
45
45
execute_fn unpack_skip
46
46
execute_fn read_array_header
@@ -112,7 +112,7 @@ def unpackb(object packed, object object_hook=None, object list_hook=None,
112
112
See :class:`Unpacker` for options.
113
113
"""
114
114
cdef unpack_context ctx
115
- cdef size_t off = 0
115
+ cdef Py_ssize_t off = 0
116
116
cdef int ret
117
117
118
118
cdef char * buf
@@ -142,7 +142,7 @@ def unpackb(object packed, object object_hook=None, object list_hook=None,
142
142
raise ExtraData(obj, PyBytes_FromStringAndSize(buf+ off, buf_len- off))
143
143
return obj
144
144
else :
145
- raise UnpackValueError(" Unpack failed: error = %d " % (ret,))
145
+ raise UnpackValueError(" Unpack failed: error = %s " % (ret,))
146
146
147
147
148
148
def unpack (object stream , object object_hook = None , object list_hook = None ,
@@ -233,14 +233,14 @@ cdef class Unpacker(object):
233
233
"""
234
234
cdef unpack_context ctx
235
235
cdef char * buf
236
- cdef size_t buf_size, buf_head, buf_tail
236
+ cdef Py_ssize_t buf_size, buf_head, buf_tail
237
237
cdef object file_like
238
238
cdef object file_like_read
239
239
cdef Py_ssize_t read_size
240
240
# To maintain refcnt.
241
241
cdef object object_hook, object_pairs_hook, list_hook, ext_hook
242
242
cdef object encoding, unicode_errors
243
- cdef size_t max_buffer_size
243
+ cdef Py_ssize_t max_buffer_size
244
244
245
245
def __cinit__ (self ):
246
246
self .buf = NULL
@@ -325,10 +325,10 @@ cdef class Unpacker(object):
325
325
cdef:
326
326
char * buf = self .buf
327
327
char * new_buf
328
- size_t head = self .buf_head
329
- size_t tail = self .buf_tail
330
- size_t buf_size = self .buf_size
331
- size_t new_size
328
+ Py_ssize_t head = self .buf_head
329
+ Py_ssize_t tail = self .buf_tail
330
+ Py_ssize_t buf_size = self .buf_size
331
+ Py_ssize_t new_size
332
332
333
333
if tail + _buf_len > buf_size:
334
334
if ((tail - head) + _buf_len) <= buf_size:
@@ -374,7 +374,7 @@ cdef class Unpacker(object):
374
374
cdef object _unpack(self , execute_fn execute, object write_bytes, bint iter = 0 ):
375
375
cdef int ret
376
376
cdef object obj
377
- cdef size_t prev_head
377
+ cdef Py_ssize_t prev_head
378
378
379
379
if self .buf_head >= self .buf_tail and self .file_like is not None :
380
380
self .read_from_file()
@@ -408,7 +408,7 @@ cdef class Unpacker(object):
408
408
409
409
def read_bytes (self , Py_ssize_t nbytes ):
410
410
""" Read a specified number of raw bytes from the stream"""
411
- cdef size_t nread
411
+ cdef Py_ssize_t nread
412
412
nread = min (self .buf_tail - self .buf_head, nbytes)
413
413
ret = PyBytes_FromStringAndSize(self .buf + self .buf_head, nread)
414
414
self .buf_head += nread
0 commit comments