From 630917b29b00f8bc1a867921c3f0e34d798a0515 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Mon, 14 Dec 2015 03:06:54 -0700 Subject: [PATCH] std: factor out the write syscall and make it public --- std/std.zig | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/std/std.zig b/std/std.zig index 08036d73eecf32455b512387d408c927a31a5a15..fbf71f2fd8d70096aab0621c0bb494c7ebb2b3ff 100644 --- a/std/std.zig +++ b/std/std.zig @@ -13,11 +13,15 @@ fn syscall3(number: isize, arg1: isize, arg2: isize, arg3: isize) -> isize { return result; } +// TODO constants for SYS_write and stdout_fileno +pub fn write(fd: isize, buf: *const u8, count: usize) -> isize { + let SYS_write : isize = 1; + return syscall3(SYS_write, fd, buf as isize, count as isize); +} + // TODO error handling // TODO handle buffering and flushing -// TODO constants for SYS_write and stdout_fileno pub fn print_str(str : string) -> isize { - let SYS_write : isize = 1; let stdout_fileno : isize = 1; - return syscall3(SYS_write, stdout_fileno, str.ptr as isize, str.len as isize); + return write(stdout_fileno, str.ptr, str.len); } -- 2.54.0