diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2025-07-27 16:38:43 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2025-07-27 22:08:52 -0700 |
| commit | bb29846732ce94d4492e824bd5252279b5220593 (patch) | |
| tree | 50740440452dd9f105b94c4c90e5b76ef936386d /lib/std | |
| parent | 89cd42ee806cff64a21cd4eef6c87f0f7337f413 (diff) | |
| download | zig-bb29846732ce94d4492e824bd5252279b5220593.tar.gz zig-bb29846732ce94d4492e824bd5252279b5220593.zip | |
std.compress.xz: eliminate dependency on std.Io.bitReader
Diffstat (limited to 'lib/std')
| -rw-r--r-- | lib/std/compress/xz.zig | 16 |
1 files 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)) { |
