From 034ee8c3efa97ee4dd6c4741c5018572ee0fc81a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juhani=20Krekel=C3=A4?= Date: Sat, 11 Aug 2018 20:30:57 +0300 Subject: [PATCH] Unify the TRY_HOF naming a bit --- cmaybe.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cmaybe.h b/cmaybe.h index 80f0461..d71ff61 100644 --- a/cmaybe.h +++ b/cmaybe.h @@ -41,7 +41,7 @@ struct __free_list { __try_tmp_##name.value\ ) -#define HANDLE_ON_TRY_FAIL(freer_func, pointer) (\ +#define TRY_HOF_HANDLE(freer_func, pointer) (\ __allocation = pointer,\ __free_list_node = malloc(sizeof(struct __free_list)),\ (__free_list_node == NULL ? (\ @@ -55,8 +55,10 @@ struct __free_list { )),\ __allocation\ ) -#define FREE_ON_TRY_FAIL(pointer) HANDLE_ON_TRY_FAIL(free, pointer) +#define FREE_ON_TRY_FAIL(pointer) TRY_HOF_HANDLE(free, pointer) +// free() is passed as an argument to avoid errors in case the program uses +// no TRY functionality and doesn't include stdlib.h static void __remove_free_list(struct __free_list **head, void *ptr, void (*free)(void*)) { struct __free_list **current = head; while (*current != NULL) {