eculocate

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit cbff5c90f27adc0ed16b2dfdcf024ef69ba64a5e
parent 5c0fb0166a8315f471d7e577492679088ad55f2a
Author: Daniel Barlow <dan@telent.net>
Date:   Thu, 25 Dec 2025 17:04:44 +0000

return slice from to_bytes

Diffstat:
Mecu-esp32/src/wifi.rs | 14+++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/ecu-esp32/src/wifi.rs b/ecu-esp32/src/wifi.rs @@ -71,9 +71,12 @@ enum RData { } impl RData { - fn to_bytes(&self, out: &mut [u8]) { + fn to_bytes<'a>(&self, out: &'a mut [u8]) -> &'a [u8] { match self { - RData::Raw(b) => out[..b.len()].clone_from_slice(&b), + RData::Raw(b) => { + out[..b.len()].clone_from_slice(&b); + &out[..b.len()] + }, RData::Srv { target, port, priority, weight } => { let mut b : [u8; 80] = [0; 80]; @@ -88,6 +91,7 @@ impl RData { for (i, l) in label.iter().enumerate() { out[6+i] = *l; } + &out[..(6 + label.len())] } } } @@ -108,13 +112,13 @@ impl DnsResource { ty : ResourceType, data: RData ) -> Self { - let mut rdata_raw : [u8; 80] = [0; 80]; - data.to_bytes(&mut rdata_raw); + let mut buf : [u8; 80] = [0; 80]; + let rdata_raw = Vec::from(data.to_bytes(&mut buf)); Self { name: name.into(), ty, data, - data_raw: Vec::from(rdata_raw) + data_raw: rdata_raw } }