Mockup of the new package os interface (incomplete and non-functioning)

This commit is contained in:
gingerBill
2021-04-14 19:39:12 +01:00
parent 3a4373641b
commit ebbc33fdb5
21 changed files with 1621 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
//+private
package os2
import win32 "core:sys/windows"
_create_temp :: proc(dir, pattern: string) -> (Handle, Error) {
return 0, .None;
}
_mkdir_temp :: proc(dir, pattern: string, allocator := context.allocator) -> (string, Error) {
return "", .None;
}
_temp_dir :: proc(allocator := context.allocator) -> string {
b := make([dynamic]u16, u32(win32.MAX_PATH), context.temp_allocator);
for {
n := win32.GetTempPathW(u32(len(b)), raw_data(b));
if n > u32(len(b)) {
resize(&b, int(n));
continue;
}
if n == 3 && b[1] == ':' && b[2] == '\\' {
} else if n > 0 && b[n-1] == '\\' {
n -= 1;
}
return win32.utf16_to_utf8(b[:n], allocator);
}
}