Reorganize runtime package

This commit is contained in:
gingerBill
2018-05-27 21:22:25 +01:00
parent a5763d6fee
commit 5c52ffe24e
21 changed files with 908 additions and 856 deletions
+5 -3
View File
@@ -1,6 +1,6 @@
package os
import "core:mem"
import "core:raw"
write_string :: proc(fd: Handle, str: string) -> (int, Errno) {
return write(fd, cast([]byte)str);
@@ -56,9 +56,11 @@ write_entire_file :: proc(name: string, data: []byte, truncate := true) -> (succ
}
write_ptr :: proc(fd: Handle, data: rawptr, len: int) -> (int, Errno) {
return write(fd, mem.slice_ptr(cast(^byte)data, len));
s := transmute([]byte)raw.Slice{data, len};
return write(fd, s);
}
read_ptr :: proc(fd: Handle, data: rawptr, len: int) -> (int, Errno) {
return read(fd, mem.slice_ptr(cast(^byte)data, len));
s := transmute([]byte)raw.Slice{data, len};
return read(fd, s);
}
-1
View File
@@ -4,7 +4,6 @@ foreign import dl "system:dl"
foreign import libc "system:c"
import "core:strings"
import "core:mem"
OS :: "linux";
-1
View File
@@ -4,7 +4,6 @@ foreign import dl "system:dl"
foreign import libc "system:c"
import "core:strings"
import "core:mem"
OS :: "osx";
+1 -2
View File
@@ -1,7 +1,6 @@
package os
import "core:sys/win32"
import "core:mem"
OS :: "windows";
@@ -269,7 +268,7 @@ _alloc_command_line_arguments :: proc() -> []string {
arg_list_ptr := win32.command_line_to_argv_w(win32.get_command_line_w(), &arg_count);
arg_list := make([]string, int(arg_count));
for _, i in arg_list {
wc_str := mem.ptr_offset(arg_list_ptr, i)^;
wc_str := (^win32.Wstring)(uintptr(arg_list_ptr) + size_of(win32.Wstring)*uintptr(i))^;
olen := win32.wide_char_to_multi_byte(win32.CP_UTF8, 0, wc_str, -1,
nil, 0, nil, nil);