diff options
| author | FourteenBrush <74827262+FourteenBrush@users.noreply.github.com> | 2024-11-30 23:43:39 +0100 |
|---|---|---|
| committer | FourteenBrush <74827262+FourteenBrush@users.noreply.github.com> | 2024-11-30 23:43:39 +0100 |
| commit | f9dc848926142ed4ecf6db780b4d2130bd0795ec (patch) | |
| tree | 3d2caee5b0f01abad1fd1dcf25c0869aae40e8ae /core/log | |
| parent | 314c41ef33a2d11e4313ecca0c708b8d02cd59d7 (diff) | |
Pass allocator to implicitly (de)allocating procs in `core:log`
Diffstat (limited to 'core/log')
| -rw-r--r-- | core/log/file_console_logger.odin | 16 | ||||
| -rw-r--r-- | core/log/multi_logger.odin | 12 |
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, |