From 4aa8d399ff92933f9c49f37becafe6ddaa3066fa Mon Sep 17 00:00:00 2001 From: TermiNexus Date: Mon, 12 Oct 2026 21:05:48 +0800 Subject: [PATCH] =?UTF-8?q?fix(zlib):=20zbit=5Fwriter=20=E4=BD=8D=E5=86=99?= =?UTF-8?q?=E5=85=A5=20|=3D=20=E5=8F=B3=E5=80=BC=E6=98=BE=E5=BC=8F?= =?UTF-8?q?=E7=AA=84=E5=8C=96=E4=B8=BA=20BYTE=EF=BC=88=E4=BF=AE=20augmente?= =?UTF-8?q?d=20assignment=20=E5=8F=B3=E5=80=BC=E8=BF=87=E5=AE=BD=E6=8A=A5?= =?UTF-8?q?=E9=94=99=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- zlib/zdef.vp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/zlib/zdef.vp b/zlib/zdef.vp index 5da7dae..bfbf3d1 100644 --- a/zlib/zdef.vp +++ b/zlib/zdef.vp @@ -131,7 +131,8 @@ class zbit_writer: self.ensure((nbits + 7) / 8 + 1) for i in range(int(nbits)): if value & (UINT(1) << i): - self.buf[self.byte_pos] |= (UINT(1) << self.bit_pos) + # BYTE(...) 显式窄化:|= 的目标 buf 元素是 8 位(BYTE/uchar),右值是 i32 位图掩码 + self.buf[self.byte_pos] |= BYTE(UINT(1) << self.bit_pos) self.bit_pos += 1 if self.bit_pos == 8: self.bit_pos = 0 @@ -141,7 +142,8 @@ class zbit_writer: self.ensure((nbits + 7) / 8 + 1) for i in range(int(nbits - 1), -1, -1): if code & (UINT(1) << i): - self.buf[self.byte_pos] |= (UINT(1) << self.bit_pos) + # BYTE(...) 显式窄化:|= 的目标 buf 元素是 8 位(BYTE/uchar),右值是 i32 位图掩码 + self.buf[self.byte_pos] |= BYTE(UINT(1) << self.bit_pos) self.bit_pos += 1 if self.bit_pos == 8: self.bit_pos = 0