Prechádzať zdrojové kódy

Fix os.get_current_directory() allocator

This procedure accidentally used the temporary allocator for the
returned string.
Use context.allocator, and the allocator parameter idiom instead.
Tetralux 5 rokov pred
rodič
commit
3820f27c7c
1 zmenil súbory, kde vykonal 2 pridanie a 2 odobranie
  1. 2 2
      core/os/os_windows.odin

+ 2 - 2
core/os/os_windows.odin

@@ -271,7 +271,7 @@ get_page_size :: proc() -> int {
 // The current directory is stored as a global variable in the process.
 @private cwd_gate := false;
 
-get_current_directory :: proc() -> string {
+get_current_directory :: proc(allocator := context.allocator) -> string {
 	for intrinsics.atomic_xchg(&cwd_gate, true) {}
 
 	sz_utf16 := win32.GetCurrentDirectoryW(0, nil);
@@ -282,7 +282,7 @@ get_current_directory :: proc() -> string {
 
 	intrinsics.atomic_store(&cwd_gate, false);
 
-	return win32.utf16_to_utf8(dir_buf_wstr);
+	return win32.utf16_to_utf8(dir_buf_wstr, allocator);
 }
 
 set_current_directory :: proc(path: string) -> (err: Errno) {