Browse Source

Allow `os.read_dir` to use a different allocator

gingerBill 5 years ago
parent
commit
2ebb94fa72
1 changed files with 3 additions and 1 deletions
  1. 3 1
      core/os/dir_windows.odin

+ 3 - 1
core/os/dir_windows.odin

@@ -4,7 +4,7 @@ import win32 "core:sys/windows"
 import "core:strings"
 import "core:strings"
 import "core:time"
 import "core:time"
 
 
-read_dir :: proc(fd: Handle, n: int) -> (fi: []File_Info, err: Errno) {
+read_dir :: proc(fd: Handle, n: int, allocator := context.allocator) -> (fi: []File_Info, err: Errno) {
 	find_data_to_file_info :: proc(base_path: string, d: ^win32.WIN32_FIND_DATAW) -> (fi: File_Info) {
 	find_data_to_file_info :: proc(base_path: string, d: ^win32.WIN32_FIND_DATAW) -> (fi: File_Info) {
 		// Ignore "." and ".."
 		// Ignore "." and ".."
 		if d.cFileName[0] == '.' && d.cFileName[1] == 0 {
 		if d.cFileName[0] == '.' && d.cFileName[1] == 0 {
@@ -53,6 +53,8 @@ read_dir :: proc(fd: Handle, n: int) -> (fi: []File_Info, err: Errno) {
 		return nil, ERROR_INVALID_HANDLE;
 		return nil, ERROR_INVALID_HANDLE;
 	}
 	}
 
 
+	context.allocator = allocator;
+
 	h := win32.HANDLE(fd);
 	h := win32.HANDLE(fd);
 
 
 	dir_fi, _ := stat_from_file_information("", h);
 	dir_fi, _ := stat_from_file_information("", h);