commit: | af12f7225ad5e6ca1f649ec127fbeccca8679398 |
author: | Chip |
committer: | Chip |
date: | Sun Sep 24 02:43:56 2023 -0500 |
parents: | ae440dae6a1d9f560eda1d7f8d13aba77b21edfd |
diff --git a/src/stdlib.rs b/src/stdlib.rs line changes: +6/-1 index 2de1ce8..dba1c31 --- a/src/stdlib.rs +++ b/src/stdlib.rs
@@ -26,7 +26,12 @@ pub fn print(s: &str) { pub fn write(buf: &[u8]) { let ptr = buf.as_ptr() as u32; let len = buf.len(); - unsafe { _svc_call(2, ptr, len as u32, 0); } + let mut written = 0; + while written < len { + let w = ptr + (written as u32); + let l = (len - written) as u32; + written += unsafe { _svc_call(2, w, l, 0) } as usize; + } } pub fn read(buf: &mut [u8]) -> usize {