[pypy-commit] pypy py3.3: Fix after changes in rffi.alloc_buffer()

amauryfa noreply at buildbot.pypy.org
Mon Oct 27 17:57:07 CET 2014


Author: Amaury Forgeot d'Arc <amauryfa at gmail.com>
Branch: py3.3
Changeset: r74258:f2e45911d1bf
Date: 2014-10-27 17:56 +0100
http://bitbucket.org/pypy/pypy/changeset/f2e45911d1bf/

Log:	Fix after changes in rffi.alloc_buffer()

diff --git a/pypy/module/_lzma/interp_lzma.py b/pypy/module/_lzma/interp_lzma.py
--- a/pypy/module/_lzma/interp_lzma.py
+++ b/pypy/module/_lzma/interp_lzma.py
@@ -135,7 +135,7 @@
         self._allocate_chunk(initial_size)
 
     def _allocate_chunk(self, size):
-        self.raw_buf, self.gc_buf = rffi.alloc_buffer(size)
+        self.raw_buf, self.gc_buf, self.case_num = rffi.alloc_buffer(size)
         self.current_size = size
         self.lzs.c_next_out = self.raw_buf
         rffi.setintfield(self.lzs, 'c_avail_out', size)
@@ -144,8 +144,10 @@
         assert 0 <= chunksize <= self.current_size
         raw_buf = self.raw_buf
         gc_buf = self.gc_buf
-        s = rffi.str_from_buffer(raw_buf, gc_buf, self.current_size, chunksize)
-        rffi.keep_buffer_alive_until_here(raw_buf, gc_buf)
+        case_num = self.case_num
+        s = rffi.str_from_buffer(raw_buf, gc_buf, case_num,
+                                 self.current_size, chunksize)
+        rffi.keep_buffer_alive_until_here(raw_buf, gc_buf, case_num)
         self.current_size = 0
         return s
 
@@ -165,7 +167,8 @@
 
     def free(self):
         if self.current_size > 0:
-            rffi.keep_buffer_alive_until_here(self.raw_buf, self.gc_buf)
+            rffi.keep_buffer_alive_until_here(self.raw_buf, self.gc_buf,
+                                              self.case_num)
 
     def __enter__(self):
         return self


More information about the pypy-commit mailing list