aboutsummaryrefslogtreecommitdiff
path: root/core/log
diff options
context:
space:
mode:
authorFourteenBrush <74827262+FourteenBrush@users.noreply.github.com>2024-11-30 23:43:39 +0100
committerFourteenBrush <74827262+FourteenBrush@users.noreply.github.com>2024-11-30 23:43:39 +0100
commitf9dc848926142ed4ecf6db780b4d2130bd0795ec (patch)
tree3d2caee5b0f01abad1fd1dcf25c0869aae40e8ae /core/log
parent314c41ef33a2d11e4313ecca0c708b8d02cd59d7 (diff)
Pass allocator to implicitly (de)allocating procs in `core:log`
Diffstat (limited to 'core/log')
-rw-r--r--core/log/file_console_logger.odin16
-rw-r--r--core/log/multi_logger.odin12
2 files changed, 14 insertions, 14 deletions
diff --git a/core/log/file_console_logger.odin b/core/log/file_console_logger.odin
index e45f99523..6d93fb879 100644
--- a/core/log/file_console_logger.odin
+++ b/core/log/file_console_logger.odin
@@ -37,30 +37,30 @@ File_Console_Logger_Data :: struct {
ident: string,
}
-create_file_logger :: proc(h: os.Handle, lowest := Level.Debug, opt := Default_File_Logger_Opts, ident := "") -> Logger {
- data := new(File_Console_Logger_Data)
+create_file_logger :: proc(h: os.Handle, lowest := Level.Debug, opt := Default_File_Logger_Opts, ident := "", allocator := context.allocator) -> Logger {
+ data := new(File_Console_Logger_Data, allocator)
data.file_handle = h
data.ident = ident
return Logger{file_console_logger_proc, data, lowest, opt}
}
-destroy_file_logger :: proc(log: Logger) {
+destroy_file_logger :: proc(log: Logger, allocator := context.allocator) {
data := cast(^File_Console_Logger_Data)log.data
if data.file_handle != os.INVALID_HANDLE {
os.close(data.file_handle)
}
- free(data)
+ free(data, allocator)
}
-create_console_logger :: proc(lowest := Level.Debug, opt := Default_Console_Logger_Opts, ident := "") -> Logger {
- data := new(File_Console_Logger_Data)
+create_console_logger :: proc(lowest := Level.Debug, opt := Default_Console_Logger_Opts, ident := "", allocator := context.allocator) -> Logger {
+ data := new(File_Console_Logger_Data, allocator)
data.file_handle = os.INVALID_HANDLE
data.ident = ident
return Logger{file_console_logger_proc, data, lowest, opt}
}
-destroy_console_logger :: proc(log: Logger) {
- free(log.data)
+destroy_console_logger :: proc(log: Logger, allocator := context.allocator) {
+ free(log.data, allocator)
}
file_console_logger_proc :: proc(logger_data: rawptr, level: Level, text: string, options: Options, location := #caller_location) {
diff --git a/core/log/multi_logger.odin b/core/log/multi_logger.odin
index 96d0f3dbd..6122554bb 100644
--- a/core/log/multi_logger.odin
+++ b/core/log/multi_logger.odin
@@ -5,17 +5,17 @@ Multi_Logger_Data :: struct {
loggers: []Logger,
}
-create_multi_logger :: proc(logs: ..Logger) -> Logger {
- data := new(Multi_Logger_Data)
- data.loggers = make([]Logger, len(logs))
+create_multi_logger :: proc(logs: ..Logger, allocator := context.allocator) -> Logger {
+ data := new(Multi_Logger_Data, allocator)
+ data.loggers = make([]Logger, len(logs), allocator)
copy(data.loggers, logs)
return Logger{multi_logger_proc, data, Level.Debug, nil}
}
-destroy_multi_logger :: proc(log: Logger) {
+destroy_multi_logger :: proc(log: Logger, allocator := context.allocator) {
data := (^Multi_Logger_Data)(log.data)
- delete(data.loggers)
- free(data)
+ delete(data.loggers, allocator)
+ free(data, allocator)
}
multi_logger_proc :: proc(logger_data: rawptr, level: Level, text: string,