repl: implement AppMemoryExternal::from_str

This commit is contained in:
Brian Carroll 2022-01-28 13:30:26 +00:00
parent b466857b5e
commit e43cd8c399

View File

@ -99,8 +99,11 @@ impl<'a> AppMemory for AppMemoryExternal<'a> {
external_number_type!(deref_f32, f32);
external_number_type!(deref_f64, f64);
fn deref_str(&self, _addr: usize) -> &str {
todo!("deref_str")
fn deref_str(&self, addr: usize) -> &str {
let elems_addr = self.deref_usize(addr);
let len = self.deref_usize(addr + size_of::<usize>());
let bytes = &self.bytes[elems_addr..][..len];
std::str::from_utf8(bytes).unwrap()
}
}