From c6ecf105ad10fd7e2ec905ecb38519cd775a474f Mon Sep 17 00:00:00 2001 From: Connor Wood Date: Mon, 24 Jul 2017 09:48:27 +0100 Subject: [PATCH] Converted Integer to Buffer --- src/acpi/aml/namespace.rs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/acpi/aml/namespace.rs b/src/acpi/aml/namespace.rs index 4abeeda..620ea71 100644 --- a/src/acpi/aml/namespace.rs +++ b/src/acpi/aml/namespace.rs @@ -132,6 +132,21 @@ impl AmlValue { pub fn get_as_buffer(&self) -> Result, AmlError> { match *self { AmlValue::Buffer(ref b) => Ok(b.clone()), + AmlValue::Integer(ref i) => { + let mut v: Vec = vec!(); + let mut i = i.clone(); + + while i != 0 { + v.push((i & 0xFF) as u8); + i >>= 8; + } + + while v.len() < 8 { + v.push(0); + } + + Ok(v) + }, _ => Err(AmlError::AmlValueError) } } @@ -174,7 +189,6 @@ impl Method { } pub fn get_namespace_string(current: String, modifier_v: AmlValue) -> Result { - // TODO: Type error if modifier not string let mut modifier = modifier_v.get_as_string()?; if current.len() == 0 {