mirror of
https://github.com/msgpack/msgpack-python.git
synced 2025-10-25 14:44:10 +00:00
parent
60ef3879d7
commit
d9ec8fc905
2 changed files with 12 additions and 6 deletions
|
|
@ -289,11 +289,13 @@ cdef class Packer(object):
|
|||
|
||||
cpdef pack(self, object obj):
|
||||
cdef int ret
|
||||
try:
|
||||
ret = self._pack(obj, DEFAULT_RECURSE_LIMIT)
|
||||
if ret == -1:
|
||||
raise MemoryError
|
||||
elif ret: # should not happen.
|
||||
raise TypeError
|
||||
except:
|
||||
self.pk.length = 0
|
||||
raise
|
||||
if ret: # should not happen.
|
||||
raise RuntimeError("internal error")
|
||||
if self.autoreset:
|
||||
buf = PyBytes_FromStringAndSize(self.pk.buf, self.pk.length)
|
||||
self.pk.length = 0
|
||||
|
|
|
|||
|
|
@ -848,7 +848,11 @@ class Packer(object):
|
|||
raise TypeError("Cannot serialize %r" % (obj, ))
|
||||
|
||||
def pack(self, obj):
|
||||
try:
|
||||
self._pack(obj)
|
||||
except:
|
||||
self._buffer = StringIO() # force reset
|
||||
raise
|
||||
ret = self._buffer.getvalue()
|
||||
if self._autoreset:
|
||||
self._buffer = StringIO()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue