Skip to content

Commit bb29846

Browse files
committed
std.compress.xz: eliminate dependency on std.Io.bitReader
1 parent 89cd42e commit bb29846

File tree

1 file changed

+5
-11
lines changed

1 file changed

+5
-11
lines changed

lib/std/compress/xz.zig

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,11 @@ pub const Check = enum(u4) {
1212
};
1313

1414
fn readStreamFlags(reader: anytype, check: *Check) !void {
15-
var bit_reader = std.io.bitReader(.little, reader);
16-
17-
const reserved1 = try bit_reader.readBitsNoEof(u8, 8);
18-
if (reserved1 != 0)
19-
return error.CorruptInput;
20-
21-
check.* = @as(Check, @enumFromInt(try bit_reader.readBitsNoEof(u4, 4)));
22-
23-
const reserved2 = try bit_reader.readBitsNoEof(u4, 4);
24-
if (reserved2 != 0)
25-
return error.CorruptInput;
15+
const reserved1 = try reader.readByte();
16+
if (reserved1 != 0) return error.CorruptInput;
17+
const byte = try reader.readByte();
18+
if ((byte >> 4) != 0) return error.CorruptInput;
19+
check.* = @enumFromInt(@as(u4, @truncate(byte)));
2620
}
2721

2822
pub fn decompress(allocator: Allocator, reader: anytype) !Decompress(@TypeOf(reader)) {

0 commit comments

Comments
 (0)