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() {
|
if bit_idx >= bits.len() {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
place_bit(
|
if actual_col > 0 {
|
||||||
matrix,
|
place_bit(
|
||||||
(actual_col - 1) as u8,
|
matrix,
|
||||||
row as u8,
|
(actual_col - 1) as u8,
|
||||||
bits[bit_idx],
|
row as u8,
|
||||||
&mut bit_idx,
|
bits[bit_idx],
|
||||||
);
|
&mut bit_idx,
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for row in 0..size {
|
for row in 0..size {
|
||||||
@@ -57,13 +59,15 @@ pub fn place_data(matrix: &mut Matrix, codewords: &[u8]) {
|
|||||||
if bit_idx >= bits.len() {
|
if bit_idx >= bits.len() {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
place_bit(
|
if actual_col > 0 {
|
||||||
matrix,
|
place_bit(
|
||||||
(actual_col - 1) as u8,
|
matrix,
|
||||||
row as u8,
|
(actual_col - 1) as u8,
|
||||||
bits[bit_idx],
|
row as u8,
|
||||||
&mut bit_idx,
|
bits[bit_idx],
|
||||||
);
|
&mut bit_idx,
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user