aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xazalea-protocol/src/write.rs15
1 files changed, 9 insertions, 6 deletions
diff --git a/azalea-protocol/src/write.rs b/azalea-protocol/src/write.rs
index d3416147..1d66eba1 100755
--- a/azalea-protocol/src/write.rs
+++ b/azalea-protocol/src/write.rs
@@ -66,12 +66,15 @@ pub async fn compression_encoder(
// otherwise, compress
let mut deflater = ZlibEncoder::new(data);
// write deflated data to buf
- let mut data = Vec::new();
- deflater.read_to_end(&mut data).await?;
- let mut len_prepended_buf = Vec::new();
- (len_prepended_buf.len() as u32).var_write_into(&mut len_prepended_buf)?;
- len_prepended_buf.append(&mut data);
- Ok(len_prepended_buf)
+ let mut compressed_data = Vec::new();
+ deflater.read_to_end(&mut compressed_data).await?;
+
+ // prepend the length
+ let mut len_prepended_compressed_data = Vec::new();
+ (data.len() as u32).var_write_into(&mut len_prepended_compressed_data)?;
+ len_prepended_compressed_data.append(&mut compressed_data);
+
+ Ok(len_prepended_compressed_data)
}
}