Author: Manuel Jacob <m...@manueljacob.de> Branch: Changeset: r95851:c5c3ad13d149 Date: 2019-02-06 01:43 +0100 http://bitbucket.org/pypy/pypy/changeset/c5c3ad13d149/
Log: Initialize rzlib stream in factory function. This should fix translation. diff --git a/pypy/module/zlib/interp_zlib.py b/pypy/module/zlib/interp_zlib.py --- a/pypy/module/zlib/interp_zlib.py +++ b/pypy/module/zlib/interp_zlib.py @@ -134,21 +134,8 @@ Wrapper around zlib's z_stream structure which provides convenient compression functionality. """ - def __init__(self, space, level=rzlib.Z_DEFAULT_COMPRESSION, - method=rzlib.Z_DEFLATED, # \ - wbits=rzlib.MAX_WBITS, # \ undocumented - memLevel=rzlib.DEF_MEM_LEVEL, # / parameters - strategy=rzlib.Z_DEFAULT_STRATEGY, # / - stream=None): + def __init__(self, space, stream): ZLibObject.__init__(self, space) - if stream is None: - try: - stream = rzlib.deflateInit(level, method, wbits, - memLevel, strategy) - except rzlib.RZlibError as e: - raise zlib_error(space, e.msg) - except ValueError: - raise oefmt(space.w_ValueError, "Invalid initialization option") self.stream = stream self.register_finalizer(space) @@ -237,8 +224,13 @@ """ w_stream = space.allocate_instance(Compress, w_subtype) w_stream = space.interp_w(Compress, w_stream) - Compress.__init__(w_stream, space, level, - method, wbits, memLevel, strategy) + try: + stream = rzlib.deflateInit(level, method, wbits, memLevel, strategy) + except rzlib.RZlibError as e: + raise zlib_error(space, e.msg) + except ValueError: + raise oefmt(space.w_ValueError, "Invalid initialization option") + Compress.__init__(w_stream, space, stream) return w_stream @@ -259,14 +251,7 @@ Wrapper around zlib's z_stream structure which provides convenient decompression functionality. """ - def __init__( - self, - space, - wbits=rzlib.MAX_WBITS, - stream=None, - unused_data="", - unconsumed_tail="", - ): + def __init__(self, space, stream, unused_data, unconsumed_tail): """ Initialize a new decompression object. @@ -277,13 +262,6 @@ """ ZLibObject.__init__(self, space) - if stream is None: - try: - stream = rzlib.inflateInit(wbits) - except rzlib.RZlibError as e: - raise zlib_error(space, e.msg) - except ValueError: - raise oefmt(space.w_ValueError, "Invalid initialization option") self.stream = stream self.unused_data = unused_data self.unconsumed_tail = unconsumed_tail @@ -389,7 +367,13 @@ """ w_stream = space.allocate_instance(Decompress, w_subtype) w_stream = space.interp_w(Decompress, w_stream) - Decompress.__init__(w_stream, space, wbits) + try: + stream = rzlib.inflateInit(wbits) + except rzlib.RZlibError as e: + raise zlib_error(space, e.msg) + except ValueError: + raise oefmt(space.w_ValueError, "Invalid initialization option") + Decompress.__init__(w_stream, space, stream, '', '') return w_stream _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit