diff --git a/core/src/matrix/placement.rs b/core/src/matrix/placement.rs index afc1b74..f26369c 100644 --- a/core/src/matrix/placement.rs +++ b/core/src/matrix/placement.rs @@ -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, + ); + } } }