From def371e96934afba0296c1480016971ebc2a1614 Mon Sep 17 00:00:00 2001 From: Rob Bradford Date: Wed, 3 Nov 2021 14:29:05 +0000 Subject: [PATCH] acpi_tables: aml: Implement Aml::append_aml_bytes() for CreateField For now it still relies on Aml::to_aml_bytes() for the children as not all structures have been ported. Signed-off-by: Rob Bradford --- acpi_tables/src/aml.rs | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/acpi_tables/src/aml.rs b/acpi_tables/src/aml.rs index a2e8d45d1..f29b3fbe7 100644 --- a/acpi_tables/src/aml.rs +++ b/acpi_tables/src/aml.rs @@ -1088,22 +1088,20 @@ impl<'a, T> CreateField<'a, T> { } impl<'a> Aml for CreateField<'a, u64> { - fn to_aml_bytes(&self) -> Vec { - let mut bytes = vec![0x8f]; /* CreateQWordFieldOp */ + fn append_aml_bytes(&self, bytes: &mut Vec) { + bytes.push(0x8f); /* CreateQWordFieldOp */ bytes.extend_from_slice(&self.buffer.to_aml_bytes()); bytes.extend_from_slice(&self.offset.to_aml_bytes()); - bytes.extend_from_slice(&self.field.to_aml_bytes()); - bytes + self.field.append_aml_bytes(bytes); } } impl<'a> Aml for CreateField<'a, u32> { - fn to_aml_bytes(&self) -> Vec { - let mut bytes = vec![0x8a]; /* CreateDWordFieldOp */ + fn append_aml_bytes(&self, bytes: &mut Vec) { + bytes.push(0x8a); /* CreateDWordFieldOp */ bytes.extend_from_slice(&self.buffer.to_aml_bytes()); bytes.extend_from_slice(&self.offset.to_aml_bytes()); - bytes.extend_from_slice(&self.field.to_aml_bytes()); - bytes + self.field.append_aml_bytes(bytes); } }