}
} else {
let mut end = 256;
- for (i, (ncw, ocw)) in new_cb.iter().rev().zip(old_cb.iter().rev()).enumerate() {
+ for (i, (ncw, ocw)) in new_cb.iter().zip(old_cb.iter()).enumerate().rev() {
if ncw == ocw {
end = i;
} else {
let mut skip = true;
for mask in self.masks.masks.iter() {
bw.write_u32be(*mask)?;
- if *mask == 0 { continue; }
+ if *mask == 0 && skip { continue; }
let mut bit = 1 << 31;
while bit > 0 {
if skip {