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