fix: placement.rs — actual_col==0 时下溢保护
This commit is contained in:
@@ -34,13 +34,15 @@ pub fn place_data(matrix: &mut Matrix, codewords: &[u8]) {
|
||||
if bit_idx >= bits.len() {
|
||||
break;
|
||||
}
|
||||
place_bit(
|
||||
matrix,
|
||||
(actual_col - 1) as u8,
|
||||
row as u8,
|
||||
bits[bit_idx],
|
||||
&mut bit_idx,
|
||||
);
|
||||
if actual_col > 0 {
|
||||
place_bit(
|
||||
matrix,
|
||||
(actual_col - 1) as u8,
|
||||
row as u8,
|
||||
bits[bit_idx],
|
||||
&mut bit_idx,
|
||||
);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for row in 0..size {
|
||||
@@ -57,13 +59,15 @@ pub fn place_data(matrix: &mut Matrix, codewords: &[u8]) {
|
||||
if bit_idx >= bits.len() {
|
||||
break;
|
||||
}
|
||||
place_bit(
|
||||
matrix,
|
||||
(actual_col - 1) as u8,
|
||||
row as u8,
|
||||
bits[bit_idx],
|
||||
&mut bit_idx,
|
||||
);
|
||||
if actual_col > 0 {
|
||||
place_bit(
|
||||
matrix,
|
||||
(actual_col - 1) as u8,
|
||||
row as u8,
|
||||
bits[bit_idx],
|
||||
&mut bit_idx,
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user