File size: 516 Bytes
4951e76 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | pub fn memory_set_len(cur_len: usize, offset: usize, value_len: usize, target_size: Option<usize>, limit: usize) -> Result<usize, u8> {
let target = match target_size {
Some(t) => t,
None => value_len,
};
match offset.checked_add(target) {
Some(pos) => {
if pos > limit {
return Err(1);
}
}
None => return Err(1),
}
if cur_len < offset + target {
Ok(offset + target)
} else {
Ok(cur_len)
}
}
|