Merge pull request #2315 from SentientCoffee/pr/os_read_file_location

Add caller location info to `os.read_entire_file()`
This commit is contained in:
Jeroen van Rijn
2023-01-27 12:00:56 +01:00
committed by GitHub
+4 -4
View File
@@ -93,7 +93,7 @@ file_size_from_path :: proc(path: string) -> i64 {
return length return length
} }
read_entire_file_from_filename :: proc(name: string, allocator := context.allocator) -> (data: []byte, success: bool) { read_entire_file_from_filename :: proc(name: string, allocator := context.allocator, loc := #caller_location) -> (data: []byte, success: bool) {
context.allocator = allocator context.allocator = allocator
fd, err := open(name, O_RDONLY, 0) fd, err := open(name, O_RDONLY, 0)
@@ -102,10 +102,10 @@ read_entire_file_from_filename :: proc(name: string, allocator := context.alloca
} }
defer close(fd) defer close(fd)
return read_entire_file_from_handle(fd, allocator) return read_entire_file_from_handle(fd, allocator, loc)
} }
read_entire_file_from_handle :: proc(fd: Handle, allocator := context.allocator) -> (data: []byte, success: bool) { read_entire_file_from_handle :: proc(fd: Handle, allocator := context.allocator, loc := #caller_location) -> (data: []byte, success: bool) {
context.allocator = allocator context.allocator = allocator
length: i64 length: i64
@@ -118,7 +118,7 @@ read_entire_file_from_handle :: proc(fd: Handle, allocator := context.allocator)
return nil, true return nil, true
} }
data = make([]byte, int(length), allocator) data = make([]byte, int(length), allocator, loc)
if data == nil { if data == nil {
return nil, false return nil, false
} }