diff options
| author | Lucas Perlind <perlindluca@gmail.com> | 2025-05-01 18:23:42 +1000 |
|---|---|---|
| committer | Lucas Perlind <perlindluca@gmail.com> | 2025-05-08 17:41:03 +1000 |
| commit | 9f2d008a8a0d53ac58cdc4bdf1279f40215f28c7 (patch) | |
| tree | fe23733401658b7fac03735eb6a46f9325573b67 | |
| parent | 5292a7f4f386baec0ecd239b38cdfddb9c9be614 (diff) | |
Remove TEMP_ALLOCATOR_GUARD wrapper
33 files changed, 113 insertions, 116 deletions
diff --git a/core/os/os2/allocators.odin b/core/os/os2/allocators.odin index 5481c4c61..7dba69749 100644 --- a/core/os/os2/allocators.odin +++ b/core/os/os2/allocators.odin @@ -23,12 +23,19 @@ temp_allocator_fini :: proc() { global_default_temp_allocator_arenas = {} } -TEMP_ALLOCATOR_GUARD_END :: proc(temp: runtime.Arena_Temp, loc := #caller_location) { - runtime.arena_temp_end(temp, loc) +Temp_Allocator :: struct { + using arena: ^runtime.Arena, + using allocator: runtime.Allocator, + tmp: runtime.Arena_Temp, + loc: runtime.Source_Code_Location, +} + +TEMP_ALLOCATOR_GUARD_END :: proc(temp: Temp_Allocator) { + runtime.arena_temp_end(temp.tmp, temp.loc) } @(deferred_out=TEMP_ALLOCATOR_GUARD_END) -TEMP_ALLOCATOR_GUARD :: #force_inline proc(collisions: []runtime.Allocator, loc := #caller_location) -> (runtime.Arena_Temp, runtime.Source_Code_Location) { +TEMP_ALLOCATOR_GUARD :: #force_inline proc(collisions: []runtime.Allocator, loc := #caller_location) -> Temp_Allocator { assert(len(collisions) <= MAX_TEMP_ARENA_COLLISIONS) good_arena: ^runtime.Arena for i in 0..<MAX_TEMP_ARENA_COUNT { @@ -47,16 +54,7 @@ TEMP_ALLOCATOR_GUARD :: #force_inline proc(collisions: []runtime.Allocator, loc good_arena.backing_allocator = heap_allocator() } tmp := runtime.arena_temp_begin(good_arena, loc) - return tmp, loc -} - -Temp_Allocator :: struct { - using arena: ^runtime.Arena, - using allocator: runtime.Allocator, -} - -get_temp_allocator :: proc(tmp: runtime.Arena_Temp, _: runtime.Source_Code_Location) -> Temp_Allocator { - return { tmp.arena, runtime.arena_allocator(tmp.arena) } + return { good_arena, runtime.arena_allocator(good_arena), tmp, loc } } temp_allocator_begin :: runtime.arena_temp_begin @@ -70,7 +68,6 @@ _temp_allocator_end :: proc(tmp: runtime.Arena_Temp) { temp_allocator_end(tmp) } - @(init, private) init_thread_local_cleaner :: proc() { runtime.add_thread_local_cleaner(temp_allocator_fini) diff --git a/core/os/os2/dir.odin b/core/os/os2/dir.odin index 7e0dfe97e..a33e8a8d9 100644 --- a/core/os/os2/dir.odin +++ b/core/os/os2/dir.odin @@ -18,7 +18,7 @@ read_directory :: proc(f: ^File, n: int, allocator: runtime.Allocator) -> (files size = 100 } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) it := read_directory_iterator_create(f) defer _read_directory_iterator_destroy(&it) @@ -202,7 +202,7 @@ copy_directory :: proc(dst, src: string, dst_perm := 0o755) -> Error { return err } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) file_infos := read_all_directory_by_path(src, temp_allocator) or_return for fi in file_infos { diff --git a/core/os/os2/dir_linux.odin b/core/os/os2/dir_linux.odin index 30dce56e6..34346c02f 100644 --- a/core/os/os2/dir_linux.odin +++ b/core/os/os2/dir_linux.odin @@ -78,7 +78,7 @@ _read_directory_iterator :: proc(it: ^Read_Directory_Iterator) -> (fi: File_Info it.impl.prev_fi = fi if err != nil { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) path, _ := _get_full_path(entry_fd, temp_allocator) read_directory_iterator_set_error(it, path, err) } diff --git a/core/os/os2/dir_windows.odin b/core/os/os2/dir_windows.odin index daabbaf67..4cf1f8396 100644 --- a/core/os/os2/dir_windows.odin +++ b/core/os/os2/dir_windows.odin @@ -15,7 +15,7 @@ find_data_to_file_info :: proc(base_path: string, d: ^win32.WIN32_FIND_DATAW, al return } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) path := concatenate({base_path, `\`, win32_wstring_to_utf8(raw_data(d.cFileName[:]), temp_allocator) or_else ""}, allocator) or_return handle := win32.HANDLE(_open_internal(path, {.Read}, 0o666) or_else 0) @@ -116,7 +116,7 @@ _read_directory_iterator_init :: proc(it: ^Read_Directory_Iterator, f: ^File) { wpath = impl.wname[:i] } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) wpath_search := make([]u16, len(wpath)+3, temp_allocator) copy(wpath_search, wpath) diff --git a/core/os/os2/env_posix.odin b/core/os/os2/env_posix.odin index 62ba6bbe4..13682f76b 100644 --- a/core/os/os2/env_posix.odin +++ b/core/os/os2/env_posix.odin @@ -12,7 +12,7 @@ _lookup_env :: proc(key: string, allocator: runtime.Allocator) -> (value: string return } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) ckey := strings.clone_to_cstring(key, temp_allocator) cval := posix.getenv(ckey) @@ -27,7 +27,7 @@ _lookup_env :: proc(key: string, allocator: runtime.Allocator) -> (value: string } _set_env :: proc(key, value: string) -> (err: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) ckey := strings.clone_to_cstring(key, temp_allocator) or_return cval := strings.clone_to_cstring(value, temp_allocator) or_return @@ -39,7 +39,7 @@ _set_env :: proc(key, value: string) -> (err: Error) { } _unset_env :: proc(key: string) -> (ok: bool) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) ckey := strings.clone_to_cstring(key, temp_allocator) diff --git a/core/os/os2/env_wasi.odin b/core/os/os2/env_wasi.odin index e9896370a..faa54e36b 100644 --- a/core/os/os2/env_wasi.odin +++ b/core/os/os2/env_wasi.odin @@ -39,7 +39,7 @@ build_env :: proc() -> (err: Error) { g_env_buf = make([]byte, size_of_envs, file_allocator()) or_return defer if err != nil { delete(g_env_buf, file_allocator()) } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) envs := make([]cstring, num_envs, temp_allocator) or_return diff --git a/core/os/os2/env_windows.odin b/core/os/os2/env_windows.odin index cd2c5e758..6bfde34bb 100644 --- a/core/os/os2/env_windows.odin +++ b/core/os/os2/env_windows.odin @@ -8,7 +8,7 @@ _lookup_env :: proc(key: string, allocator: runtime.Allocator) -> (value: string if key == "" { return } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) wkey, _ := win32_utf8_to_wstring(key, temp_allocator) n := win32.GetEnvironmentVariableW(wkey, nil, 0) @@ -37,7 +37,7 @@ _lookup_env :: proc(key: string, allocator: runtime.Allocator) -> (value: string } _set_env :: proc(key, value: string) -> Error { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) k := win32_utf8_to_wstring(key, temp_allocator) or_return v := win32_utf8_to_wstring(value, temp_allocator) or_return @@ -48,13 +48,13 @@ _set_env :: proc(key, value: string) -> Error { } _unset_env :: proc(key: string) -> bool { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) k, _ := win32_utf8_to_wstring(key, temp_allocator) return bool(win32.SetEnvironmentVariableW(k, nil)) } _clear_env :: proc() { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) envs, _ := environ(temp_allocator) for env in envs { for j in 1..<len(env) { diff --git a/core/os/os2/errors.odin b/core/os/os2/errors.odin index d40c49aee..b50f04cab 100644 --- a/core/os/os2/errors.odin +++ b/core/os/os2/errors.odin @@ -108,7 +108,7 @@ error_string :: proc(ferr: Error) -> string { } print_error :: proc(f: ^File, ferr: Error, msg: string) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) err_str := error_string(ferr) // msg + ": " + err_str + '\n' diff --git a/core/os/os2/file.odin b/core/os/os2/file.odin index 57a65894a..ff214182e 100644 --- a/core/os/os2/file.odin +++ b/core/os/os2/file.odin @@ -291,7 +291,7 @@ exists :: proc(path: string) -> bool { @(require_results) is_file :: proc(path: string) -> bool { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) fi, err := stat(path, temp_allocator) if err != nil { return false @@ -303,7 +303,7 @@ is_dir :: is_directory @(require_results) is_directory :: proc(path: string) -> bool { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) fi, err := stat(path, temp_allocator) if err != nil { return false diff --git a/core/os/os2/file_linux.odin b/core/os/os2/file_linux.odin index bb5edd345..a1ead7f9f 100644 --- a/core/os/os2/file_linux.odin +++ b/core/os/os2/file_linux.odin @@ -66,7 +66,7 @@ _standard_stream_init :: proc() { } _open :: proc(name: string, flags: File_Flags, perm: int) -> (f: ^File, err: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) name_cstr := clone_to_cstring(name, temp_allocator) or_return // Just default to using O_NOCTTY because needing to open a controlling @@ -299,7 +299,7 @@ _truncate :: proc(f: ^File, size: i64) -> Error { } _remove :: proc(name: string) -> Error { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) name_cstr := clone_to_cstring(name, temp_allocator) or_return if fd, errno := linux.open(name_cstr, _OPENDIR_FLAGS + {.NOFOLLOW}); errno == .NONE { @@ -311,7 +311,7 @@ _remove :: proc(name: string) -> Error { } _rename :: proc(old_name, new_name: string) -> Error { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) old_name_cstr := clone_to_cstring(old_name, temp_allocator) or_return new_name_cstr := clone_to_cstring(new_name, temp_allocator) or_return @@ -319,7 +319,7 @@ _rename :: proc(old_name, new_name: string) -> Error { } _link :: proc(old_name, new_name: string) -> Error { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) old_name_cstr := clone_to_cstring(old_name, temp_allocator) or_return new_name_cstr := clone_to_cstring(new_name, temp_allocator) or_return @@ -327,7 +327,7 @@ _link :: proc(old_name, new_name: string) -> Error { } _symlink :: proc(old_name, new_name: string) -> Error { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) old_name_cstr := clone_to_cstring(old_name, temp_allocator) or_return new_name_cstr := clone_to_cstring(new_name, temp_allocator) or_return return _get_platform_error(linux.symlink(old_name_cstr, new_name_cstr)) @@ -352,13 +352,13 @@ _read_link_cstr :: proc(name_cstr: cstring, allocator: runtime.Allocator) -> (st } _read_link :: proc(name: string, allocator: runtime.Allocator) -> (s: string, e: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) name_cstr := clone_to_cstring(name, temp_allocator) or_return return _read_link_cstr(name_cstr, allocator) } _chdir :: proc(name: string) -> Error { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) name_cstr := clone_to_cstring(name, temp_allocator) or_return return _get_platform_error(linux.chdir(name_cstr)) } @@ -369,7 +369,7 @@ _fchdir :: proc(f: ^File) -> Error { } _chmod :: proc(name: string, mode: int) -> Error { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) name_cstr := clone_to_cstring(name, temp_allocator) or_return return _get_platform_error(linux.chmod(name_cstr, transmute(linux.Mode)(u32(mode)))) } @@ -381,14 +381,14 @@ _fchmod :: proc(f: ^File, mode: int) -> Error { // NOTE: will throw error without super user priviledges _chown :: proc(name: string, uid, gid: int) -> Error { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) name_cstr := clone_to_cstring(name, temp_allocator) or_return return _get_platform_error(linux.chown(name_cstr, linux.Uid(uid), linux.Gid(gid))) } // NOTE: will throw error without super user priviledges _lchown :: proc(name: string, uid, gid: int) -> Error { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) name_cstr := clone_to_cstring(name, temp_allocator) or_return return _get_platform_error(linux.lchown(name_cstr, linux.Uid(uid), linux.Gid(gid))) } @@ -400,7 +400,7 @@ _fchown :: proc(f: ^File, uid, gid: int) -> Error { } _chtimes :: proc(name: string, atime, mtime: time.Time) -> Error { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) name_cstr := clone_to_cstring(name, temp_allocator) or_return times := [2]linux.Time_Spec { { @@ -431,7 +431,7 @@ _fchtimes :: proc(f: ^File, atime, mtime: time.Time) -> Error { } _exists :: proc(name: string) -> bool { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) name_cstr, _ := clone_to_cstring(name, temp_allocator) return linux.access(name_cstr, linux.F_OK) == .NONE } @@ -440,7 +440,7 @@ _exists :: proc(name: string) -> bool { _read_entire_pseudo_file :: proc { _read_entire_pseudo_file_string, _read_entire_pseudo_file_cstring } _read_entire_pseudo_file_string :: proc(name: string, allocator: runtime.Allocator) -> (b: []u8, e: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) name_cstr := clone_to_cstring(name, temp_allocator) or_return return _read_entire_pseudo_file_cstring(name_cstr, allocator) } diff --git a/core/os/os2/file_posix.odin b/core/os/os2/file_posix.odin index c53a176f2..2d74618ee 100644 --- a/core/os/os2/file_posix.odin +++ b/core/os/os2/file_posix.odin @@ -69,7 +69,7 @@ _open :: proc(name: string, flags: File_Flags, perm: int) -> (f: ^File, err: Err if .Trunc in flags { sys_flags += {.TRUNC} } if .Inheritable in flags { sys_flags -= {.CLOEXEC} } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) cname := clone_to_cstring(name, temp_allocator) or_return fd := posix.open(cname, sys_flags, transmute(posix.mode_t)posix._mode_t(perm)) @@ -184,7 +184,7 @@ _truncate :: proc(f: ^File, size: i64) -> Error { } _remove :: proc(name: string) -> (err: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) cname := clone_to_cstring(name, temp_allocator) or_return if posix.remove(cname) != 0 { return _get_platform_error() @@ -193,7 +193,7 @@ _remove :: proc(name: string) -> (err: Error) { } _rename :: proc(old_path, new_path: string) -> (err: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) cold := clone_to_cstring(old_path, temp_allocator) or_return cnew := clone_to_cstring(new_path, temp_allocator) or_return if posix.rename(cold, cnew) != 0 { @@ -203,7 +203,7 @@ _rename :: proc(old_path, new_path: string) -> (err: Error) { } _link :: proc(old_name, new_name: string) -> (err: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) cold := clone_to_cstring(old_name, temp_allocator) or_return cnew := clone_to_cstring(new_name, temp_allocator) or_return if posix.link(cold, cnew) != .OK { @@ -213,7 +213,7 @@ _link :: proc(old_name, new_name: string) -> (err: Error) { } _symlink :: proc(old_name, new_name: string) -> (err: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) cold := clone_to_cstring(old_name, temp_allocator) or_return cnew := clone_to_cstring(new_name, temp_allocator) or_return if posix.symlink(cold, cnew) != .OK { @@ -223,7 +223,7 @@ _symlink :: proc(old_name, new_name: string) -> (err: Error) { } _read_link :: proc(name: string, allocator: runtime.Allocator) -> (s: string, err: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) cname := clone_to_cstring(name, temp_allocator) or_return buf: [dynamic]byte @@ -269,7 +269,7 @@ _read_link :: proc(name: string, allocator: runtime.Allocator) -> (s: string, er } _chdir :: proc(name: string) -> (err: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) cname := clone_to_cstring(name, temp_allocator) or_return if posix.chdir(cname) != .OK { return _get_platform_error() @@ -292,7 +292,7 @@ _fchmod :: proc(f: ^File, mode: int) -> Error { } _chmod :: proc(name: string, mode: int) -> (err: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) cname := clone_to_cstring(name, temp_allocator) or_return if posix.chmod(cname, transmute(posix.mode_t)posix._mode_t(mode)) != .OK { return _get_platform_error() @@ -308,7 +308,7 @@ _fchown :: proc(f: ^File, uid, gid: int) -> Error { } _chown :: proc(name: string, uid, gid: int) -> (err: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) cname := clone_to_cstring(name, temp_allocator) or_return if posix.chown(cname, posix.uid_t(uid), posix.gid_t(gid)) != .OK { return _get_platform_error() @@ -317,7 +317,7 @@ _chown :: proc(name: string, uid, gid: int) -> (err: Error) { } _lchown :: proc(name: string, uid, gid: int) -> Error { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) cname := clone_to_cstring(name, temp_allocator) or_return if posix.lchown(cname, posix.uid_t(uid), posix.gid_t(gid)) != .OK { return _get_platform_error() @@ -337,7 +337,7 @@ _chtimes :: proc(name: string, atime, mtime: time.Time) -> (err: Error) { }, } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) cname := clone_to_cstring(name, temp_allocator) or_return if posix.utimes(cname, ×) != .OK { @@ -365,7 +365,7 @@ _fchtimes :: proc(f: ^File, atime, mtime: time.Time) -> Error { } _exists :: proc(path: string) -> bool { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) cpath, err := clone_to_cstring(path, temp_allocator) if err != nil { return false } return posix.access(cpath) == .OK diff --git a/core/os/os2/file_posix_other.odin b/core/os/os2/file_posix_other.odin index a7f095cb3..d2946098b 100644 --- a/core/os/os2/file_posix_other.odin +++ b/core/os/os2/file_posix_other.odin @@ -7,7 +7,7 @@ import "base:runtime" import "core:sys/posix" _posix_absolute_path :: proc(fd: posix.FD, name: string, allocator: runtime.Allocator) -> (path: cstring, err: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) cname := clone_to_cstring(name, temp_allocator) buf: [posix.PATH_MAX]byte diff --git a/core/os/os2/file_windows.odin b/core/os/os2/file_windows.odin index 8f45d4ab9..16803f1ac 100644 --- a/core/os/os2/file_windows.odin +++ b/core/os/os2/file_windows.odin @@ -109,7 +109,7 @@ _open_internal :: proc(name: string, flags: File_Flags, perm: int) -> (handle: u err = .Not_Exist return } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) path := _fix_long_path(name, temp_allocator) or_return access: u32 @@ -580,7 +580,7 @@ _truncate :: proc(f: ^File, size: i64) -> Error { } _remove :: proc(name: string) -> Error { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) p := _fix_long_path(name, temp_allocator) or_return err, err1: Error if !win32.DeleteFileW(p) { @@ -618,7 +618,7 @@ _remove :: proc(name: string) -> Error { } _rename :: proc(old_path, new_path: string) -> Error { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) from := _fix_long_path(old_path, temp_allocator) or_return to := _fix_long_path(new_path, temp_allocator) or_return if win32.MoveFileExW(from, to, win32.MOVEFILE_REPLACE_EXISTING) { @@ -629,7 +629,7 @@ _rename :: proc(old_path, new_path: string) -> Error { } _link :: proc(old_name, new_name: string) -> Error { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) o := _fix_long_path(old_name, temp_allocator) or_return n := _fix_long_path(new_name, temp_allocator) or_return if win32.CreateHardLinkW(n, o, nil) { @@ -692,7 +692,7 @@ _normalize_link_path :: proc(p: []u16, allocator: runtime.Allocator) -> (str: st return "", _get_platform_error() } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) buf := make([]u16, n+1, temp_allocator) n = win32.GetFinalPathNameByHandleW(handle, raw_data(buf), u32(len(buf)), win32.VOLUME_NAME_DOS) @@ -718,7 +718,7 @@ _read_link :: proc(name: string, allocator: runtime.Allocator) -> (s: string, er @thread_local rdb_buf: [MAXIMUM_REPARSE_DATA_BUFFER_SIZE]byte - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) p := _fix_long_path(name, temp_allocator) or_return handle := _open_sym_link(p) or_return @@ -785,7 +785,7 @@ _fchown :: proc(f: ^File, uid, gid: int) -> Error { } _chdir :: proc(name: string) -> Error { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) p := _fix_long_path(name, temp_allocator) or_return if !win32.SetCurrentDirectoryW(p) { return _get_platform_error() @@ -834,7 +834,7 @@ _fchtimes :: proc(f: ^File, atime, mtime: time.Time) -> Error { } _exists :: proc(path: string) -> bool { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) wpath, _ := _fix_long_path(path, temp_allocator) attribs := win32.GetFileAttributesW(wpath) return attribs != win32.INVALID_FILE_ATTRIBUTES diff --git a/core/os/os2/path.odin b/core/os/os2/path.odin index 2caf13092..e12aa3c9c 100644 --- a/core/os/os2/path.odin +++ b/core/os/os2/path.odin @@ -119,7 +119,7 @@ clean_path :: proc(path: string, allocator: runtime.Allocator) -> (cleaned: stri return strings.clone(".", allocator) } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) // The extra byte is to simplify appending path elements by letting the // loop to end each with a separator. We'll trim the last one when we're done. @@ -326,7 +326,7 @@ For example, `join_path({"/home", "foo", "bar.txt"})` will result in `"/home/foo join_path :: proc(elems: []string, allocator: runtime.Allocator) -> (joined: string, err: Error) { for e, i in elems { if e != "" { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) p := strings.join(elems[i:], Path_Separator_String, temp_allocator) or_return return clean_path(p, allocator) } diff --git a/core/os/os2/path_linux.odin b/core/os/os2/path_linux.odin index 11de5cf37..64f415187 100644 --- a/core/os/os2/path_linux.odin +++ b/core/os/os2/path_linux.odin @@ -18,7 +18,7 @@ _is_path_separator :: proc(c: byte) -> bool { } _mkdir :: proc(path: string, perm: int) -> Error { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) path_cstr := clone_to_cstring(path, temp_allocator) or_return return _get_platform_error(linux.mkdir(path_cstr, transmute(linux.Mode)u32(perm))) } @@ -52,7 +52,7 @@ _mkdir_all :: proc(path: string, perm: int) -> Error { } return _get_platform_error(errno) } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) // need something we can edit, and use to generate cstrings path_bytes := make([]u8, len(path) + 1, temp_allocator) @@ -129,7 +129,7 @@ _remove_all :: proc(path: string) -> Error { return nil } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) path_cstr := clone_to_cstring(path, temp_allocator) or_return fd, errno := linux.open(path_cstr, _OPENDIR_FLAGS) @@ -168,14 +168,14 @@ _get_working_directory :: proc(allocator: runtime.Allocator) -> (string, Error) } _set_working_directory :: proc(dir: string) -> Error { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) dir_cstr := clone_to_cstring(dir, temp_allocator) or_return return _get_platform_error(linux.chdir(dir_cstr)) } _get_executable_path :: proc(allocator: runtime.Allocator) -> (path: string, err: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) buf := make([dynamic]byte, 1024, temp_allocator) or_return for { diff --git a/core/os/os2/path_netbsd.odin b/core/os/os2/path_netbsd.odin index 41abfb3f1..815102dea 100644 --- a/core/os/os2/path_netbsd.odin +++ b/core/os/os2/path_netbsd.odin @@ -5,7 +5,7 @@ import "base:runtime" import "core:sys/posix" _get_executable_path :: proc(allocator: runtime.Allocator) -> (path: string, err: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) buf := make([dynamic]byte, 1024, temp_allocator) or_return for { diff --git a/core/os/os2/path_openbsd.odin b/core/os/os2/path_openbsd.odin index e27a31dda..cbc0346d4 100644 --- a/core/os/os2/path_openbsd.odin +++ b/core/os/os2/path_openbsd.odin @@ -35,7 +35,7 @@ _get_executable_path :: proc(allocator: runtime.Allocator) -> (path: string, err return real(arg, allocator) } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) buf := strings.builder_make(temp_allocator) diff --git a/core/os/os2/path_posix.odin b/core/os/os2/path_posix.odin index 1ad46259c..e59567240 100644 --- a/core/os/os2/path_posix.odin +++ b/core/os/os2/path_posix.odin @@ -15,7 +15,7 @@ _is_path_separator :: proc(c: byte) -> bool { } _mkdir :: proc(name: string, perm: int) -> (err: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) cname := clone_to_cstring(name, temp_allocator) or_return if posix.mkdir(cname, transmute(posix.mode_t)posix._mode_t(perm)) != .OK { return _get_platform_error() @@ -28,7 +28,7 @@ _mkdir_all :: proc(path: string, perm: int) -> Error { return .Invalid_Path } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) if exists(path) { return .Exist @@ -53,7 +53,7 @@ _mkdir_all :: proc(path: string, perm: int) -> Error { } _remove_all :: proc(path: string) -> (err: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) cpath := clone_to_cstring(path, temp_allocator) or_return dir := posix.opendir(cpath) @@ -95,7 +95,7 @@ _remove_all :: proc(path: string) -> (err: Error) { } _get_working_directory :: proc(allocator: runtime.Allocator) -> (dir: string, err: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) buf: [dynamic]byte buf.allocator = temp_allocator @@ -116,7 +116,7 @@ _get_working_directory :: proc(allocator: runtime.Allocator) -> (dir: string, er } _set_working_directory :: proc(dir: string) -> (err: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) cdir := clone_to_cstring(dir, temp_allocator) or_return if posix.chdir(cdir) != .OK { err = _get_platform_error() diff --git a/core/os/os2/path_posixfs.odin b/core/os/os2/path_posixfs.odin index 24575bbd8..4102d71c1 100644 --- a/core/os/os2/path_posixfs.odin +++ b/core/os/os2/path_posixfs.odin @@ -31,7 +31,7 @@ _get_absolute_path :: proc(path: string, allocator: runtime.Allocator) -> (absol if rel == "" { rel = "." } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) rel_cstr := strings.clone_to_cstring(rel, temp_allocator) path_ptr := posix.realpath(rel_cstr, nil) if path_ptr == nil { diff --git a/core/os/os2/path_wasi.odin b/core/os/os2/path_wasi.odin index 3e00463b1..b8240e188 100644 --- a/core/os/os2/path_wasi.odin +++ b/core/os/os2/path_wasi.odin @@ -28,7 +28,7 @@ _mkdir_all :: proc(path: string, perm: int) -> Error { return .Invalid_Path } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) if exists(path) { return .Exist diff --git a/core/os/os2/path_windows.odin b/core/os/os2/path_windows.odin index 07e202222..9c0fec9b9 100644 --- a/core/os/os2/path_windows.odin +++ b/core/os/os2/path_windows.odin @@ -14,7 +14,7 @@ _is_path_separator :: proc(c: byte) -> bool { } _mkdir :: proc(name: string, perm: int) -> Error { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) if !win32.CreateDirectoryW(_fix_long_path(name, temp_allocator) or_return, nil) { return _get_platform_error() } @@ -33,7 +33,7 @@ _mkdir_all :: proc(path: string, perm: int) -> Error { return p, false, nil } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) dir_stat, err := stat(path, temp_allocator) if err == nil { @@ -82,7 +82,7 @@ _remove_all :: proc(path: string) -> Error { return nil } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) dir := win32_utf8_to_wstring(path, temp_allocator) or_return empty: [1]u16 @@ -109,7 +109,7 @@ _remove_all :: proc(path: string) -> Error { _get_working_directory :: proc(allocator: runtime.Allocator) -> (dir: string, err: Error) { win32.AcquireSRWLockExclusive(&cwd_lock) - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) sz_utf16 := win32.GetCurrentDirectoryW(0, nil) dir_buf_wstr := make([]u16, sz_utf16, temp_allocator) or_return @@ -123,7 +123,7 @@ _get_working_directory :: proc(allocator: runtime.Allocator) -> (dir: string, er } _set_working_directory :: proc(dir: string) -> (err: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) wstr := win32_utf8_to_wstring(dir, temp_allocator) or_return win32.AcquireSRWLockExclusive(&cwd_lock) @@ -138,7 +138,7 @@ _set_working_directory :: proc(dir: string) -> (err: Error) { } _get_executable_path :: proc(allocator: runtime.Allocator) -> (path: string, err: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) buf := make([dynamic]u16, 512, temp_allocator) or_return for { @@ -222,7 +222,7 @@ _fix_long_path_internal :: proc(path: string) -> string { return path } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) PREFIX :: `\\?` path_buf := make([]byte, len(PREFIX)+len(path)+1, temp_allocator) @@ -297,7 +297,7 @@ _get_absolute_path :: proc(path: string, allocator: runtime.Allocator) -> (absol if rel == "" { rel = "." } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) rel_utf16 := win32.utf8_to_utf16(rel, temp_allocator) n := win32.GetFullPathNameW(raw_data(rel_utf16), 0, nil, nil) if n == 0 { diff --git a/core/os/os2/process_linux.odin b/core/os/os2/process_linux.odin index 6d239ef25..8dffac08b 100644 --- a/core/os/os2/process_linux.odin +++ b/core/os/os2/process_linux.odin @@ -50,7 +50,7 @@ _get_ppid :: proc() -> int { @(private="package") _process_list :: proc(allocator: runtime.Allocator) -> (list: []int, err: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) dir_fd, errno := linux.open("/proc/", _OPENDIR_FLAGS) #partial switch errno { @@ -100,7 +100,7 @@ _process_list :: proc(allocator: runtime.Allocator) -> (list: []int, err: Error) @(private="package") _process_info_by_pid :: proc(pid: int, selection: Process_Info_Fields, allocator: runtime.Allocator) -> (info: Process_Info, err: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) info.pid = pid @@ -392,7 +392,7 @@ _process_open :: proc(pid: int, _: Process_Open_Flags) -> (process: Process, err @(private="package") _process_start :: proc(desc: Process_Desc) -> (process: Process, err: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) if len(desc.command) == 0 { return process, .Invalid_Command @@ -593,7 +593,7 @@ _process_start :: proc(desc: Process_Desc) -> (process: Process, err: Error) { } _process_state_update_times :: proc(state: ^Process_State) -> (err: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) stat_path_buf: [48]u8 path_builder := strings.builder_from_bytes(stat_path_buf[:]) diff --git a/core/os/os2/process_posix.odin b/core/os/os2/process_posix.odin index f24aa12d3..fcacdf654 100644 --- a/core/os/os2/process_posix.odin +++ b/core/os/os2/process_posix.odin @@ -52,7 +52,7 @@ _process_start :: proc(desc: Process_Desc) -> (process: Process, err: Error) { return } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) // search PATH if just a plain name is provided. exe_builder := strings.builder_make(temp_allocator) diff --git a/core/os/os2/process_posix_darwin.odin b/core/os/os2/process_posix_darwin.odin index eb7ab492d..ac2d4b78c 100644 --- a/core/os/os2/process_posix_darwin.odin +++ b/core/os/os2/process_posix_darwin.odin @@ -50,7 +50,7 @@ _process_info_by_pid :: proc(pid: int, selection: Process_Info_Fields, allocator } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) info.pid = pid // Thought on errors is: allocation failures return immediately (also why the non-allocation stuff is done first), @@ -240,7 +240,7 @@ _process_list :: proc(allocator: runtime.Allocator) -> (list: []int, err: Error) return } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) buffer := make([]i32, ret, temp_allocator) ret = darwin.proc_listallpids(raw_data(buffer), ret*size_of(i32)) diff --git a/core/os/os2/process_windows.odin b/core/os/os2/process_windows.odin index 1d4cda511..199e5ad74 100644 --- a/core/os/os2/process_windows.odin +++ b/core/os/os2/process_windows.odin @@ -162,7 +162,7 @@ _process_info_by_pid :: proc(pid: int, selection: Process_Info_Fields, allocator if err != nil { break read_peb } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) if selection >= {.Command_Line, .Command_Args} { temp_allocator_scope(temp_allocator) cmdline_w := make([]u16, process_params.CommandLine.Length, temp_allocator) or_return @@ -273,7 +273,7 @@ _process_info_by_handle :: proc(process: Process, selection: Process_Info_Fields if err != nil { break read_peb } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) if selection >= {.Command_Line, .Command_Args} { temp_allocator_scope(temp_allocator) cmdline_w := make([]u16, process_params.CommandLine.Length, temp_allocator) or_return @@ -421,7 +421,7 @@ _process_open :: proc(pid: int, flags: Process_Open_Flags) -> (process: Process, @(private="package") _process_start :: proc(desc: Process_Desc) -> (process: Process, err: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) command_line := _build_command_line(desc.command, temp_allocator) command_line_w := win32_utf8_to_wstring(command_line, temp_allocator) or_return environment := desc.env @@ -614,7 +614,7 @@ _process_exe_by_pid :: proc(pid: int, allocator: runtime.Allocator) -> (exe_path } _get_process_user :: proc(process_handle: win32.HANDLE, allocator: runtime.Allocator) -> (full_username: string, err: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) token_handle: win32.HANDLE if !win32.OpenProcessToken(process_handle, win32.TOKEN_QUERY, &token_handle) { err = _get_platform_error() diff --git a/core/os/os2/stat.odin b/core/os/os2/stat.odin index 63bb42f13..d6b524684 100644 --- a/core/os/os2/stat.odin +++ b/core/os/os2/stat.odin @@ -73,14 +73,14 @@ last_write_time_by_name :: modification_time_by_path @(require_results) modification_time :: proc(f: ^File) -> (time.Time, Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) fi, err := fstat(f, temp_allocator) return fi.modification_time, err } @(require_results) modification_time_by_path :: proc(path: string) -> (time.Time, Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) fi, err := stat(path, temp_allocator) return fi.modification_time, err } diff --git a/core/os/os2/stat_linux.odin b/core/os/os2/stat_linux.odin index 119c39c52..373765be5 100644 --- a/core/os/os2/stat_linux.odin +++ b/core/os/os2/stat_linux.odin @@ -47,7 +47,7 @@ _fstat_internal :: proc(fd: linux.Fd, allocator: runtime.Allocator) -> (fi: File // NOTE: _stat and _lstat are using _fstat to avoid a race condition when populating fullpath _stat :: proc(name: string, allocator: runtime.Allocator) -> (fi: File_Info, err: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) name_cstr := clone_to_cstring(name, temp_allocator) or_return fd, errno := linux.open(name_cstr, {}) @@ -59,7 +59,7 @@ _stat :: proc(name: string, allocator: runtime.Allocator) -> (fi: File_Info, err } _lstat :: proc(name: string, allocator: runtime.Allocator) -> (fi: File_Info, err: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) name_cstr := clone_to_cstring(name, temp_allocator) or_return fd, errno := linux.open(name_cstr, {.PATH, .NOFOLLOW}) diff --git a/core/os/os2/stat_posix.odin b/core/os/os2/stat_posix.odin index 5119fe9ad..6ffbdf1da 100644 --- a/core/os/os2/stat_posix.odin +++ b/core/os/os2/stat_posix.odin @@ -69,7 +69,7 @@ _stat :: proc(name: string, allocator: runtime.Allocator) -> (fi: File_Info, err return } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) cname := clone_to_cstring(name, temp_allocator) or_return fd := posix.open(cname, {}) @@ -96,7 +96,7 @@ _lstat :: proc(name: string, allocator: runtime.Allocator) -> (fi: File_Info, er return } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) // NOTE: can't use realpath or open (+ fcntl F_GETPATH) here because it tries to resolve symlinks. diff --git a/core/os/os2/stat_windows.odin b/core/os/os2/stat_windows.odin index ac7acfebf..918c86f76 100644 --- a/core/os/os2/stat_windows.odin +++ b/core/os/os2/stat_windows.odin @@ -45,7 +45,7 @@ full_path_from_name :: proc(name: string, allocator: runtime.Allocator) -> (path name = "." } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) p := win32_utf8_to_utf16(name, temp_allocator) or_return @@ -65,7 +65,7 @@ internal_stat :: proc(name: string, create_file_attributes: u32, allocator: runt if len(name) == 0 { return {}, .Not_Exist } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) wname := _fix_long_path(name, temp_allocator) or_return fa: win32.WIN32_FILE_ATTRIBUTE_DATA @@ -137,7 +137,7 @@ _cleanpath_from_handle :: proc(f: ^File, allocator: runtime.Allocator) -> (strin return "", _get_platform_error() } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) buf := make([]u16, max(n, 260)+1, temp_allocator) n = win32.GetFinalPathNameByHandleW(h, raw_data(buf), u32(len(buf)), 0) @@ -155,7 +155,7 @@ _cleanpath_from_handle_u16 :: proc(f: ^File) -> ([]u16, Error) { return nil, _get_platform_error() } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) buf := make([]u16, max(n, 260)+1, temp_allocator) n = win32.GetFinalPathNameByHandleW(h, raw_data(buf), u32(len(buf)), 0) diff --git a/core/os/os2/temp_file.odin b/core/os/os2/temp_file.odin index c63acfd82..ad20b5706 100644 --- a/core/os/os2/temp_file.odin +++ b/core/os/os2/temp_file.odin @@ -15,7 +15,7 @@ MAX_ATTEMPTS :: 1<<13 // Should be enough for everyone, right? // The caller must `close` the file once finished with. @(require_results) create_temp_file :: proc(dir, pattern: string) -> (f: ^File, err: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) dir := dir if dir != "" else temp_directory(temp_allocator) or_return prefix, suffix := _prefix_and_suffix(pattern) or_return prefix = temp_join_path(dir, prefix) or_return @@ -47,7 +47,7 @@ mkdir_temp :: make_directory_temp // If `dir` is an empty tring, `temp_directory()` will be used. @(require_results) make_directory_temp :: proc(dir, pattern: string, allocator: runtime.Allocator) -> (temp_path: string, err: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) dir := dir if dir != "" else temp_directory(temp_allocator) or_return prefix, suffix := _prefix_and_suffix(pattern) or_return prefix = temp_join_path(dir, prefix) or_return @@ -89,7 +89,7 @@ temp_directory :: proc(allocator: runtime.Allocator) -> (string, Error) { @(private="file") temp_join_path :: proc(dir, name: string) -> (string, runtime.Allocator_Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({})) + temp_allocator := TEMP_ALLOCATOR_GUARD({}) if len(dir) > 0 && is_path_separator(dir[len(dir)-1]) { return concatenate({dir, name}, temp_allocator,) diff --git a/core/os/os2/temp_file_linux.odin b/core/os/os2/temp_file_linux.odin index 4fb273c48..310720cbe 100644 --- a/core/os/os2/temp_file_linux.odin +++ b/core/os/os2/temp_file_linux.odin @@ -4,7 +4,7 @@ package os2 import "base:runtime" _temp_dir :: proc(allocator: runtime.Allocator) -> (string, runtime.Allocator_Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) tmpdir := get_env("TMPDIR", temp_allocator) if tmpdir == "" { tmpdir = "/tmp" diff --git a/core/os/os2/temp_file_windows.odin b/core/os/os2/temp_file_windows.odin index ae6f856e1..9d75ef99d 100644 --- a/core/os/os2/temp_file_windows.odin +++ b/core/os/os2/temp_file_windows.odin @@ -9,7 +9,7 @@ _temp_dir :: proc(allocator: runtime.Allocator) -> (string, runtime.Allocator_Er if n == 0 { return "", nil } - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) b := make([]u16, max(win32.MAX_PATH, n), temp_allocator) n = win32.GetTempPathW(u32(len(b)), raw_data(b)) diff --git a/core/os/os2/user.odin b/core/os/os2/user.odin index 7785e50af..b2856a319 100644 --- a/core/os/os2/user.odin +++ b/core/os/os2/user.odin @@ -4,7 +4,7 @@ import "base:runtime" @(require_results) user_cache_dir :: proc(allocator: runtime.Allocator) -> (dir: string, err: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) #partial switch ODIN_OS { case .Windows: @@ -35,7 +35,7 @@ user_cache_dir :: proc(allocator: runtime.Allocator) -> (dir: string, err: Error @(require_results) user_config_dir :: proc(allocator: runtime.Allocator) -> (dir: string, err: Error) { - temp_allocator := get_temp_allocator(TEMP_ALLOCATOR_GUARD({ allocator })) + temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator }) #partial switch ODIN_OS { case .Windows: |