authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-07-28 22:16:52-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-07-31 22:10:11-07:00
log4741a16d9aab40bea8f1cf604337b3de067accb5
tree9dd8f673fc5d0447bd7a3608cec63708ee67bf0c
parent05ce1f99a60df0bcede00af1c98a1e5fdce35051

putting stuff back does not require mutation


1 files changed, 0 insertions(+), 12 deletions(-)

lib/std/compress/flate/Decompress.zig-12
...@@ -500,17 +500,10 @@ fn takeBitsRuntime(d: *Decompress, n: u4) !u16 {...@@ -500,17 +500,10 @@ fn takeBitsRuntime(d: *Decompress, n: u4) !u16 {
500500
501fn alignBitsDiscarding(d: *Decompress) void {501fn alignBitsDiscarding(d: *Decompress) void {
502 const remaining_bits = d.remaining_bits;502 const remaining_bits = d.remaining_bits;
503 const next_bits = d.next_bits;
504 if (remaining_bits == 0) return;503 if (remaining_bits == 0) return;
505 const discard_bits = remaining_bits % 8;
506 const n_bytes = remaining_bits / 8;504 const n_bytes = remaining_bits / 8;
507 var put_back_bits = next_bits >> discard_bits;
508 const in = d.input;505 const in = d.input;
509 in.seek -= n_bytes;506 in.seek -= n_bytes;
510 for (in.buffer[in.seek..][0..n_bytes]) |*b| {
511 b.* = @truncate(put_back_bits);
512 put_back_bits >>= 8;
513 }
514 d.remaining_bits = 0;507 d.remaining_bits = 0;
515 d.next_bits = 0;508 d.next_bits = 0;
516}509}
...@@ -521,11 +514,6 @@ fn alignBitsPreserving(d: *Decompress) void {...@@ -521,11 +514,6 @@ fn alignBitsPreserving(d: *Decompress) void {
521 const n_bytes = (remaining_bits + 7) / 8;514 const n_bytes = (remaining_bits + 7) / 8;
522 const in = d.input;515 const in = d.input;
523 in.seek -= n_bytes;516 in.seek -= n_bytes;
524 var put_back_bits = d.next_bits;
525 for (in.buffer[in.seek..][0..n_bytes]) |*b| {
526 b.* = @truncate(put_back_bits);
527 put_back_bits >>= 8;
528 }
529 d.remaining_bits = 0;517 d.remaining_bits = 0;
530 d.next_bits = 0;518 d.next_bits = 0;
531}519}