diff --git a/atat/src/blocking/client.rs b/atat/src/blocking/client.rs index 6616545..a1b8742 100644 --- a/atat/src/blocking/client.rs +++ b/atat/src/blocking/client.rs @@ -423,30 +423,6 @@ mod test { sent.await.unwrap(); } - #[tokio::test] - async fn invalid_response() { - let (mut client, mut tx, rx) = setup!(Config::new()); - - // String last - let cmd = TestRespStringCmd { - fun: Functionality::APM, - rst: Some(ResetMode::DontReset), - }; - - let sent = tokio::spawn(async move { - tx.next_message_pure().await; - rx.signal_response(Ok(b"+CUN: 22,16,22")).unwrap(); - }); - - tokio::task::spawn_blocking(move || { - assert_eq!(Err(Error::Parse), client.send(&cmd)); - }) - .await - .unwrap(); - - sent.await.unwrap(); - } - #[tokio::test] async fn custom_timeout() { static CALL_COUNT: AtomicU64 = AtomicU64::new(0); diff --git a/serde_at/src/de/mod.rs b/serde_at/src/de/mod.rs index 2f84934..379eb56 100644 --- a/serde_at/src/de/mod.rs +++ b/serde_at/src/de/mod.rs @@ -178,7 +178,7 @@ impl<'a> Deserializer<'a> { self.index = self.slice.len(); return Ok(&self.slice[start..]); } else if let Some(c) = self.peek() { - if (c as char).is_alphanumeric() || (c as char).is_whitespace() { + if (c as char).is_ascii() && c >= 32 { self.eat_char(); } else { return Err(Error::EofWhileParsingString); @@ -473,7 +473,7 @@ impl<'a, 'de> de::Deserializer<'de> for &'a mut Deserializer<'de> { visitor.visit_borrowed_str(self.parse_str()?) } _ => { - if (peek as char).is_alphabetic() { + if (peek as char).is_ascii() && peek >= 32 { visitor.visit_bytes(self.parse_bytes()?) } else { Err(Error::InvalidType)