From bb29846732ce94d4492e824bd5252279b5220593 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sun, 27 Jul 2025 16:38:43 -0700 Subject: [PATCH] std.compress.xz: eliminate dependency on std.Io.bitReader --- lib/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 index c8bc964543..6c99e9f427 100644 --- 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)) {