From e59e34d33478d346364a5723951ad9722af13480 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Tue, 29 Nov 2022 12:27:32 +0000 Subject: [PATCH] Change order of map_free_dynamic in usage --- core/runtime/dynamic_map_internal.odin | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/core/runtime/dynamic_map_internal.odin b/core/runtime/dynamic_map_internal.odin index 8c494a176..c23baab60 100644 --- a/core/runtime/dynamic_map_internal.odin +++ b/core/runtime/dynamic_map_internal.odin @@ -512,8 +512,9 @@ map_reserve_dynamic :: proc "odin" (#no_alias m: ^Raw_Map, #no_alias info: ^Map_ } } + map_free_dynamic(m^, info, loc) or_return m.data = resized.data - return map_free_dynamic(m^, info, loc) + return nil } @@ -558,8 +559,9 @@ map_shrink_dynamic :: proc "odin" (#no_alias m: ^Raw_Map, #no_alias info: ^Map_I } } + map_free_dynamic(m^, info, loc) or_return m.data = shrunk.data - return map_free_dynamic(m^, info, loc) + return nil } @(require_results) @@ -567,8 +569,9 @@ map_free_dynamic :: proc "odin" (m: Raw_Map, info: ^Map_Info, loc := #caller_loc ptr := rawptr(map_data(m)) size := int(map_total_allocation_size(uintptr(map_cap(m)), info)) err := mem_free_with_size(ptr, size, m.allocator, loc) - if err == .Mode_Not_Implemented { - err = nil + #partial switch err { + case .None, .Mode_Not_Implemented: + return nil } return err }