1234567891011121314151617181920212223242526272829 |
- //+private
- package os2
- import win32 "core:sys/windows"
- _create_temp :: proc(dir, pattern: string) -> (Handle, Error) {
- return 0, nil;
- }
- _mkdir_temp :: proc(dir, pattern: string, allocator := context.allocator) -> (string, Error) {
- return "", nil;
- }
- _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);
- }
- }
|