Skip to content

Commit 55f8505

Browse files
committed
Change away from iterators
1 parent e02bda5 commit 55f8505

File tree

1 file changed

+4
-10
lines changed

1 file changed

+4
-10
lines changed

src/nor_flash.rs

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -225,17 +225,11 @@ where
225225
if is_subset {
226226
// Use `merge_buffer` as allocation for padding `data` to `WRITE_SIZE`
227227
let offset = addr as usize % S::WRITE_SIZE;
228-
self.merge_buffer[..S::WRITE_SIZE]
229-
.iter_mut()
230-
.for_each(|c| *c = 0u8);
231-
self.merge_buffer[..S::WRITE_SIZE]
232-
.iter_mut()
233-
.skip(offset)
234-
.zip(data)
235-
.for_each(|(a, b)| *a = *b);
236-
let aligned_addr = addr - offset as u32;
228+
let alligned_end = data.len() % S::WRITE_SIZE;
229+
self.merge_buffer[..S::WRITE_SIZE].fill(0xff);
230+
self.merge_buffer[offset..data.len()].copy_from_slice(data);
237231
self.storage
238-
.try_write(aligned_addr, &self.merge_buffer[..S::WRITE_SIZE])?;
232+
.try_write(addr - offset as u32, &self.merge_buffer[..S::WRITE_SIZE])?;
239233
} else {
240234
self.storage.try_erase(page.start, page.end())?;
241235
self.merge_buffer[..S::ERASE_SIZE]

0 commit comments

Comments
 (0)