From 9408e71dcd7c794f27faed71bfeb8b879edd731a Mon Sep 17 00:00:00 2001 From: Connor Wood <connorwood71@gmail.com> Date: Mon, 24 Jul 2017 16:02:19 +0100 Subject: [PATCH] Converted BufferField into Buffer --- src/acpi/aml/namespace.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/acpi/aml/namespace.rs b/src/acpi/aml/namespace.rs index 935c5658..2fa363ad 100644 --- a/src/acpi/aml/namespace.rs +++ b/src/acpi/aml/namespace.rs @@ -150,6 +150,17 @@ impl AmlValue { AmlValue::String(ref s) => { Ok(s.clone().into_bytes()) }, + AmlValue::BufferField { ref source_buf, ref index, ref length } => { + let buf = source_buf.get_as_buffer()?; + let idx = index.get_as_integer()? as usize; + let len = length.get_as_integer()? as usize; + + if idx + len > buf.len() { + return Err(AmlError::AmlValueError); + } + + Ok(buf[idx .. idx + len].to_vec()) + }, _ => Err(AmlError::AmlValueError) } } -- GitLab