zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit bb29846732ce94d4492e824bd5252279b5220593 (tree)
parent 89cd42ee806cff64a21cd4eef6c87f0f7337f413
Author: Andrew Kelley <andrew@ziglang.org>
Date:   Sun, 27 Jul 2025 16:38:43 -0700

std.compress.xz: eliminate dependency on std.Io.bitReader

Diffstat:
Mlib/std/compress/xz.zig | 16+++++-----------
1 file changed, 5 insertions(+), 11 deletions(-)

diff --git a/lib/std/compress/xz.zig b/lib/std/compress/xz.zig @@ -12,17 +12,11 @@ pub const Check = enum(u4) { }; fn readStreamFlags(reader: anytype, check: *Check) !void { - var bit_reader = std.io.bitReader(.little, reader); - - const reserved1 = try bit_reader.readBitsNoEof(u8, 8); - if (reserved1 != 0) - return error.CorruptInput; - - check.* = @as(Check, @enumFromInt(try bit_reader.readBitsNoEof(u4, 4))); - - const reserved2 = try bit_reader.readBitsNoEof(u4, 4); - if (reserved2 != 0) - return error.CorruptInput; + const reserved1 = try reader.readByte(); + if (reserved1 != 0) return error.CorruptInput; + const byte = try reader.readByte(); + if ((byte >> 4) != 0) return error.CorruptInput; + check.* = @enumFromInt(@as(u4, @truncate(byte))); } pub fn decompress(allocator: Allocator, reader: anytype) !Decompress(@TypeOf(reader)) {