diff options
| -rw-r--r-- | include/omc.h | 6 | 
1 files changed, 6 insertions, 0 deletions
| diff --git a/include/omc.h b/include/omc.h index e693834..cbc5950 100644 --- a/include/omc.h +++ b/include/omc.h @@ -41,6 +41,12 @@  #define guard_runtime_free(X) do { if (X) { runtime_free(X); X = NULL; } } while (0)  #define guard_strlist_free(X) do { if (X) { strlist_free(X); X = NULL; } } while (0)  #define guard_free(X) do { if (X) { free(X); X = NULL; } } while (0) +#define GENERIC_ARRAY_FREE(ARR) do { \ +    for (size_t ARR_I = 0; ARR && ARR[ARR_I] != NULL; ARR_I++) { \ +        guard_free(ARR[ARR_I]); \ +    } \ +    guard_free(ARR); \ +} while (0)  #define COE_CHECK_ABORT(COND, MSG) {\      if (COND) { \ | 
