diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2025-08-26 21:07:00 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2025-08-26 21:07:09 -0700 |
| commit | 68f590d430bee6bc9b3bb4940f739d8b04435c08 (patch) | |
| tree | 5b3972db9648cb4c4b3680764400c95b1033291f /lib/std | |
| parent | 0339c5793a26cee680d2e42da702038e3574469c (diff) | |
| download | zig-68f590d430bee6bc9b3bb4940f739d8b04435c08.tar.gz zig-68f590d430bee6bc9b3bb4940f739d8b04435c08.zip | |
std.compress.xz: fix 32-bit targets
Diffstat (limited to 'lib/std')
| -rw-r--r-- | lib/std/compress/xz/Decompress.zig | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/lib/std/compress/xz/Decompress.zig b/lib/std/compress/xz/Decompress.zig index eaebe05c23..2fff561c73 100644 --- a/lib/std/compress/xz/Decompress.zig +++ b/lib/std/compress/xz/Decompress.zig @@ -259,9 +259,9 @@ fn readBlock(input: *Reader, allocating: *Writer.Allocating) !void { // Block Padding const block_counter = header_size + packed_bytes_read; - const padding = (4 - (block_counter % 4)) % 4; - for (0..padding) |_| { - if (try input.takeByte() != 0) return error.CorruptInput; + const padding = try input.take(@intCast((4 - (block_counter % 4)) % 4)); + for (padding) |byte| { + if (byte != 0) return error.CorruptInput; } } @@ -279,14 +279,13 @@ fn finish(d: *Decompress) !void { if (record_count != d.block_count) return error.CorruptInput; - for (0..record_count) |_| { + for (0..@intCast(record_count)) |_| { // TODO: validate records _ = try countLeb128(input, u64, &input_counter, &checksum); _ = try countLeb128(input, u64, &input_counter, &checksum); } - const padding_len = (4 - (input_counter % 4)) % 4; - const padding = try input.take(padding_len); + const padding = try input.take(@intCast((4 - (input_counter % 4)) % 4)); for (padding) |byte| { if (byte != 0) return error.CorruptInput; } |
