M tocs/src/aldat/ser.rs => tocs/src/aldat/ser.rs +1 -3
@@ 97,9 97,7 @@ pub fn serialize(aldat: &AlDat) -> Option<std::vec::Vec<u8>> {
let padding_len = pad_target - n % pad_target;
assert!(padding_len > 0);
writer.write_u8(1);
- for i in 1..padding_len {
- writer.write_u8(0);
- }
+ writer.write_zeros(padding_len - 1);
} else {
// last entry
writer.write_u8(1);
M tocs/src/io/mem_writer.rs => tocs/src/io/mem_writer.rs +4 -0
@@ 49,6 49,10 @@ impl MemWriter {
self.inner.extend_from_slice(s);
}
+ pub fn write_zeros(&mut self, n: usize) {
+ self.inner.resize(self.inner.len() + n, 0u8);
+ }
+
pub fn write_padded_byte_str<const PADDING: usize>(&mut self, s: PaddedByteStr<'_, PADDING>) {
s.write_to(&mut self.inner).unwrap(); // writing to vec should not fail
}