From bd2e373d6644cb7a05d615e807ff39f5292b9396 Mon Sep 17 00:00:00 2001 From: Cain <75994858+cainthebest@users.noreply.github.com> Date: Mon, 13 Mar 2023 10:28:49 +0100 Subject: [PATCH] [Crate] Make clippy happy (#23) * fix: clippy::type_complexity * fix: clippy::needless_doctest_main * fix: clippy::read_zero_byte_vec * fix: clippy::useless_conversion * fix: clippy::slow_vector_initialization --- src/bufferer.rs | 12 +++++++----- src/lib.rs | 23 ++++++++++------------- src/protocols/valve/protocol.rs | 3 ++- src/protocols/valve/types.rs | 14 ++++++++++++-- 4 files changed, 31 insertions(+), 21 deletions(-) diff --git a/src/bufferer.rs b/src/bufferer.rs index 5b24aae..30c01de 100644 --- a/src/bufferer.rs +++ b/src/bufferer.rs @@ -125,11 +125,13 @@ impl Bufferer { return Err(PacketUnderflow); } - let paired_buf: Vec = sub_buf.chunks_exact(2) - .into_iter().map(|pair| match self.endianess { - Endianess::Little => LittleEndian::read_u16(pair), - Endianess::Big => BigEndian::read_u16(pair) - }).collect(); + let paired_buf: Vec = sub_buf + .chunks_exact(2) + .map(|pair| match self.endianess { + Endianess::Little => LittleEndian::read_u16(pair), + Endianess::Big => BigEndian::read_u16(pair), + }) + .collect(); let value = String::from_utf16(&paired_buf).map_err(|_| PacketBad)?; diff --git a/src/lib.rs b/src/lib.rs index de0ae9e..9ac3aa3 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,18 +1,15 @@ - //! Game Server Query Library. //! //! # Usage example: //! -//! ```no_run -//!use gamedig::games::tf2; +//! ``` +//! use gamedig::games::tf2; //! -//!fn main() { -//! let response = tf2::query("127.0.0.1", None); // None is the default port (which is 27015), could also be Some(27015) -//! match response { // Result type, must check what it is... -//! Err(error) => println!("Couldn't query, error: {}", error), -//! Ok(r) => println!("{:#?}", r) -//! } -//!} +//! let response = tf2::query("127.0.0.1", None); // None is the default port (which is 27015), could also be Some(27015) +//! match response { // Result type, must check what it is... +//! Err(error) => println!("Couldn't query, error: {}", error), +//! Ok(r) => println!("{:#?}", r) +//! } //! ``` //! //! # Crate features: @@ -21,13 +18,13 @@ //! `no_games` - disables the included games support. pub mod errors; -pub mod protocols; #[cfg(not(feature = "no_games"))] pub mod games; +pub mod protocols; -mod utils; -mod socket; mod bufferer; +mod socket; +mod utils; pub use errors::*; #[cfg(not(feature = "no_games"))] diff --git a/src/protocols/valve/protocol.rs b/src/protocols/valve/protocol.rs index ee3b675..a1eefd3 100644 --- a/src/protocols/valve/protocol.rs +++ b/src/protocols/valve/protocol.rs @@ -121,7 +121,8 @@ impl SplitPacket { let decompressed_size = self.decompressed_size.unwrap() as usize; - let mut decompressed_payload = Vec::with_capacity(decompressed_size); + let mut decompressed_payload = vec![0; decompressed_size]; + decoder.read(&mut decompressed_payload).map_err(|_| Decompress)?; if decompressed_payload.len() != decompressed_size diff --git a/src/protocols/valve/types.rs b/src/protocols/valve/types.rs index bb45ed0..4601251 100644 --- a/src/protocols/valve/types.rs +++ b/src/protocols/valve/types.rs @@ -116,10 +116,20 @@ pub struct ModData { pub has_own_dll: bool } -pub(crate) fn get_optional_extracted_data(data: Option) -> (Option, Option, Option, Option, Option) { +pub(crate) type ExtractedData = ( + Option, + Option, + Option, + Option, + Option, +); + +pub(crate) fn get_optional_extracted_data( + data: Option, +) -> ExtractedData { match data { None => (None, None, None, None, None), - Some(ed) => (ed.port, ed.steam_id, ed.tv_port, ed.tv_name, ed.keywords) + Some(ed) => (ed.port, ed.steam_id, ed.tv_port, ed.tv_name, ed.keywords), } }