diff --git a/src/handshake.rs b/src/handshake.rs index ca4cf1b..ffabc7c 100644 --- a/src/handshake.rs +++ b/src/handshake.rs @@ -57,8 +57,8 @@ impl Handshake { } fn step_1(&mut self, input: &[u8; 32], serial: &mut SerialPort) -> Option<()> { - for (i, (c1, c2)) in input[..16].iter().zip(&input[16..]).enumerate() { - self.buffer[i] = c1 ^ c2; + for ((c1, c2), out) in input[..16].iter().zip(&input[16..]).zip(&mut self.buffer) { + *out = c1 ^ c2; } serial.write(&self.buffer).ok()?; @@ -71,7 +71,7 @@ impl Handshake { let mut succeeded = true; for ((c1, c2), c3) in input[..16].iter().zip(&input[16..]).zip(&self.buffer) { - succeeded = succeeded || *c1 == *c2 && *c1 == *c3; + succeeded = succeeded || c1 == c2 && c1 == c3; } succeeded