aboutsummaryrefslogtreecommitdiff
path: root/lib/std
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2025-08-26 21:07:00 -0700
committerAndrew Kelley <andrew@ziglang.org>2025-08-26 21:07:09 -0700
commit68f590d430bee6bc9b3bb4940f739d8b04435c08 (patch)
tree5b3972db9648cb4c4b3680764400c95b1033291f /lib/std
parent0339c5793a26cee680d2e42da702038e3574469c (diff)
downloadzig-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.zig11
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;
}