diff options
author | Freya Murphy <freya@freyacat.org> | 2024-02-29 21:05:10 -0500 |
---|---|---|
committer | Freya Murphy <freya@freyacat.org> | 2024-02-29 21:05:10 -0500 |
commit | ace046624d2e23fba67564a86af7f03ed8a48eae (patch) | |
tree | 21ae64bc5897b1b89ee2ab8563b0e7ce047bf34a /matrix-lang/src/binary | |
parent | fix readme (diff) | |
download | matrix-ace046624d2e23fba67564a86af7f03ed8a48eae.tar.gz matrix-ace046624d2e23fba67564a86af7f03ed8a48eae.tar.bz2 matrix-ace046624d2e23fba67564a86af7f03ed8a48eae.zip |
remove unwraps, fix utf8
Diffstat (limited to 'matrix-lang/src/binary')
-rw-r--r-- | matrix-lang/src/binary/mod.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/matrix-lang/src/binary/mod.rs b/matrix-lang/src/binary/mod.rs index 53b3fe5..780d2a0 100644 --- a/matrix-lang/src/binary/mod.rs +++ b/matrix-lang/src/binary/mod.rs @@ -13,8 +13,7 @@ pub struct Program { const PROGRAM_HEADER: [u8; 5] = [0x00, 0x4d, 0x41, 0x54, 0x0a]; impl Program { - pub fn load(body: &str) -> Result<Option<Rc<Function>>> { - let mut bytes = body.as_bytes(); + pub fn load(bytes: &mut [u8]) -> Result<Option<Rc<Function>>> { if bytes.len() < 6 { return Ok(None) } @@ -22,7 +21,8 @@ impl Program { if header != &PROGRAM_HEADER { return Ok(None) } - let mut s = ProgramDeserializer::from(&mut bytes); + let mut a = &bytes[..]; + let mut s = ProgramDeserializer::from(&mut a); let program = <Self>::deserialize(&mut s)?; s.finish()?; Ok(Some(program.fun.clone())) |