Browse Source

Merge branch 'master' of https://github.com/odin-lang/Odin

gingerBill 8 months ago
parent
commit
7d5ac2a164
2 changed files with 14 additions and 14 deletions
  1. 8 8
      core/log/file_console_logger.odin
  2. 6 6
      core/log/multi_logger.odin

+ 8 - 8
core/log/file_console_logger.odin

@@ -37,30 +37,30 @@ File_Console_Logger_Data :: struct {
 	ident: string,
 	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.file_handle = h
 	data.ident = ident
 	data.ident = ident
 	return Logger{file_console_logger_proc, data, lowest, opt}
 	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
 	data := cast(^File_Console_Logger_Data)log.data
 	if data.file_handle != os.INVALID_HANDLE {
 	if data.file_handle != os.INVALID_HANDLE {
 		os.close(data.file_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.file_handle = os.INVALID_HANDLE
 	data.ident = ident
 	data.ident = ident
 	return Logger{file_console_logger_proc, data, lowest, opt}
 	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) {
 file_console_logger_proc :: proc(logger_data: rawptr, level: Level, text: string, options: Options, location := #caller_location) {

+ 6 - 6
core/log/multi_logger.odin

@@ -5,17 +5,17 @@ Multi_Logger_Data :: struct {
 	loggers: []Logger,
 	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)
 	copy(data.loggers, logs)
 	return Logger{multi_logger_proc, data, Level.Debug, nil}
 	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)
 	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,
 multi_logger_proc :: proc(logger_data: rawptr, level: Level, text: string,