diff options
Diffstat (limited to 'v_windows/v/old/vlib/os2')
-rw-r--r-- | v_windows/v/old/vlib/os2/keep_vfmt_happy.v | 2 | ||||
-rw-r--r-- | v_windows/v/old/vlib/os2/os2_darwin.c.v | 36 | ||||
-rw-r--r-- | v_windows/v/old/vlib/os2/os2_test.v | 11 |
3 files changed, 49 insertions, 0 deletions
diff --git a/v_windows/v/old/vlib/os2/keep_vfmt_happy.v b/v_windows/v/old/vlib/os2/keep_vfmt_happy.v new file mode 100644 index 0000000..4b719f9 --- /dev/null +++ b/v_windows/v/old/vlib/os2/keep_vfmt_happy.v @@ -0,0 +1,2 @@ +// this keeps vfmt happy +module os2 diff --git a/v_windows/v/old/vlib/os2/os2_darwin.c.v b/v_windows/v/old/vlib/os2/os2_darwin.c.v new file mode 100644 index 0000000..b04ee11 --- /dev/null +++ b/v_windows/v/old/vlib/os2/os2_darwin.c.v @@ -0,0 +1,36 @@ +module os2 + +#include <fcntl.h> + +struct File { + fd int +} + +fn C.perror(&char) + +fn C.open(&byte, int, int) int + +fn C.write(voidptr, &byte, int) int + +fn C.close(int) int + +pub fn create(path string) ?File { + fd := C.open(path.str, C.O_CREAT | C.O_TRUNC | C.O_WRONLY, o644) // 511 + if fd == -1 { + return error('failed to create "$path":') + // os.print_c_errno() + } + return File{fd} +} + +pub fn (f File) writeln(s string) { + ss := s + '\n' + ret := C.write(f.fd, ss.str, s.len + 1) + if ret == -1 { + C.perror('failed to write') + } +} + +pub fn (f File) close() { + C.close(f.fd) +} diff --git a/v_windows/v/old/vlib/os2/os2_test.v b/v_windows/v/old/vlib/os2/os2_test.v new file mode 100644 index 0000000..997e341 --- /dev/null +++ b/v_windows/v/old/vlib/os2/os2_test.v @@ -0,0 +1,11 @@ +// import os2 + +fn test_open() { + /* + $if macos { + f := os2.create('os2.test') + f.writeln('hello world!') + f.close() + } + */ +} |