| ... | ... | @@ -13,11 +13,15 @@ fn syscall3(number: isize, arg1: isize, arg2: isize, arg3: isize) -> isize { |
| 13 | 13 | return result; |
| 14 | 14 | } |
| 15 | 15 | |
| 16 | // TODO constants for SYS_write and stdout_fileno |
| 17 | pub fn write(fd: isize, buf: *const u8, count: usize) -> isize { |
| 18 | let SYS_write : isize = 1; |
| 19 | return syscall3(SYS_write, fd, buf as isize, count as isize); |
| 20 | } |
| 21 | |
| 16 | 22 | // TODO error handling |
| 17 | 23 | // TODO handle buffering and flushing |
| 18 | | // TODO constants for SYS_write and stdout_fileno |
| 19 | 24 | pub fn print_str(str : string) -> isize { |
| 20 | | let SYS_write : isize = 1; |
| 21 | 25 | let stdout_fileno : isize = 1; |
| 22 | | return syscall3(SYS_write, stdout_fileno, str.ptr as isize, str.len as isize); |
| 26 | return write(stdout_fileno, str.ptr, str.len); |
| 23 | 27 | } |