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