diff --git a/src/bufferer.rs b/src/bufferer.rs index 55120e5..7cd423a 100644 --- a/src/bufferer.rs +++ b/src/bufferer.rs @@ -164,13 +164,11 @@ impl Bufferer { pub fn move_position_backward(&mut self, by: usize) { self.position -= by; } - pub fn data_length(&self) -> usize { self.data.len() } - pub fn remaining_data(&self) -> &[u8] { &self.data[self.position ..] } pub fn remaining_data_vec(&self) -> Vec { self.remaining_data().to_vec() } - pub fn remaining_length(&self) -> usize { self.data_length() - self.position } + pub fn remaining_length(&self) -> usize { self.data.len() - self.position } pub fn is_remaining_empty(&self) -> bool { self.remaining_length() == 0 } diff --git a/src/protocols/minecraft/protocol/legacy_bv1_8.rs b/src/protocols/minecraft/protocol/legacy_bv1_8.rs index 13e4867..ea1767c 100644 --- a/src/protocols/minecraft/protocol/legacy_bv1_8.rs +++ b/src/protocols/minecraft/protocol/legacy_bv1_8.rs @@ -28,14 +28,15 @@ impl LegacyBV1_8 { fn get_info(&mut self) -> GDResult { self.send_initial_request()?; - let mut buffer = Bufferer::new_with_data(Endianess::Big, &self.socket.receive(None)?); + let data = self.socket.receive(None)?; + let mut buffer = Bufferer::new_with_data(Endianess::Big, &data); if buffer.get_u8()? != 0xFF { return Err(ProtocolFormat); } let length = buffer.get_u16()? * 2; - error_by_expected_size((length + 3) as usize, buffer.data_length())?; + error_by_expected_size((length + 3) as usize, data.len())?; let packet_string = buffer.get_string_utf16()?; diff --git a/src/protocols/minecraft/protocol/legacy_v1_4.rs b/src/protocols/minecraft/protocol/legacy_v1_4.rs index e9e5077..5c4244c 100644 --- a/src/protocols/minecraft/protocol/legacy_v1_4.rs +++ b/src/protocols/minecraft/protocol/legacy_v1_4.rs @@ -28,14 +28,15 @@ impl LegacyV1_4 { fn get_info(&mut self) -> GDResult { self.send_initial_request()?; - let mut buffer = Bufferer::new_with_data(Endianess::Big, &self.socket.receive(None)?); + let data = self.socket.receive(None)?; + let mut buffer = Bufferer::new_with_data(Endianess::Big, &data); if buffer.get_u8()? != 0xFF { return Err(ProtocolFormat); } let length = buffer.get_u16()? * 2; - error_by_expected_size((length + 3) as usize, buffer.data_length())?; + error_by_expected_size((length + 3) as usize, data.len())?; if LegacyV1_6::is_protocol(&mut buffer)? { return LegacyV1_6::get_response(&mut buffer); diff --git a/src/protocols/minecraft/protocol/legacy_v1_6.rs b/src/protocols/minecraft/protocol/legacy_v1_6.rs index e1f9d9c..3e0e618 100644 --- a/src/protocols/minecraft/protocol/legacy_v1_6.rs +++ b/src/protocols/minecraft/protocol/legacy_v1_6.rs @@ -77,14 +77,15 @@ impl LegacyV1_6 { fn get_info(&mut self) -> GDResult { self.send_initial_request()?; - let mut buffer = Bufferer::new_with_data(Endianess::Big, &self.socket.receive(None)?); + let data = self.socket.receive(None)?; + let mut buffer = Bufferer::new_with_data(Endianess::Big, &data); if buffer.get_u8()? != 0xFF { return Err(ProtocolFormat); } let length = buffer.get_u16()? * 2; - error_by_expected_size((length + 3) as usize, buffer.data_length())?; + error_by_expected_size((length + 3) as usize, data.len())?; if !LegacyV1_6::is_protocol(&mut buffer)? { return Err(ProtocolFormat);