fix(zlib): zbit_writer 位写入 |= 右值显式窄化为 BYTE(修 augmented assignment 右值过宽报错)

This commit is contained in:
TermiNexus committed 2026-10-12 21:05:48 +08:00
1 parent 7f82bec5d1
commit 4aa8d399ff
1 file changed
+4 -2
+4 -2
View File
@@ -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