aboutsummaryrefslogtreecommitdiff
path: root/azalea-buf/src
diff options
context:
space:
mode:
Diffstat (limited to 'azalea-buf/src')
-rw-r--r--azalea-buf/src/read.rs10
-rw-r--r--azalea-buf/src/write.rs8
2 files changed, 17 insertions, 1 deletions
diff --git a/azalea-buf/src/read.rs b/azalea-buf/src/read.rs
index 7cea9695..f4d6a951 100644
--- a/azalea-buf/src/read.rs
+++ b/azalea-buf/src/read.rs
@@ -285,11 +285,21 @@ impl AzaleaRead for String {
read_utf_with_len(buf, MAX_STRING_LENGTH.into())
}
}
+impl AzaleaRead for Box<str> {
+ fn azalea_read(buf: &mut Cursor<&[u8]>) -> Result<Self, BufReadError> {
+ String::azalea_read(buf).map(Into::into)
+ }
+}
impl AzaleaReadLimited for String {
fn azalea_read_limited(buf: &mut Cursor<&[u8]>, limit: usize) -> Result<Self, BufReadError> {
read_utf_with_len(buf, limit as u32)
}
}
+impl AzaleaReadLimited for Box<str> {
+ fn azalea_read_limited(buf: &mut Cursor<&[u8]>, limit: usize) -> Result<Self, BufReadError> {
+ String::azalea_read_limited(buf, limit).map(Into::into)
+ }
+}
impl AzaleaRead for u32 {
fn azalea_read(buf: &mut Cursor<&[u8]>) -> Result<Self, BufReadError> {
diff --git a/azalea-buf/src/write.rs b/azalea-buf/src/write.rs
index 8c2d88ea..4fcce7a0 100644
--- a/azalea-buf/src/write.rs
+++ b/azalea-buf/src/write.rs
@@ -126,7 +126,13 @@ impl AzaleaWrite for Vec<u8> {
impl AzaleaWrite for String {
fn azalea_write(&self, buf: &mut impl Write) -> io::Result<()> {
- write_utf_with_len(buf, self, MAX_STRING_LENGTH.into())
+ self.as_str().azalea_write(buf)
+ }
+}
+
+impl AzaleaWrite for Box<str> {
+ fn azalea_write(&self, buf: &mut impl Write) -> io::Result<()> {
+ (&**self).azalea_write(buf)
}
}