From 4d66819a175b1b24d9ece3264b4b2f7a6bfab9d1 Mon Sep 17 00:00:00 2001 From: Vito Caputo Date: Wed, 30 Aug 2023 21:24:48 -0700 Subject: til_setup: add helper for setup_func baking fails This introduces til_setup_free_with_failed_setting_ret_err() which just does the common idiom of: - free the setup - store the failed setting - return with err code so all these failure cases can be reduced to just a direct return of calling this function. --- src/til_setup.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/til_setup.c') diff --git a/src/til_setup.c b/src/til_setup.c index ce95366..c06614f 100644 --- a/src/til_setup.c +++ b/src/til_setup.c @@ -110,3 +110,17 @@ void * til_setup_free(til_setup_t *setup) return NULL; } + + +/* ergonomic helper for setup_funcs to use in res_setup baking */ +int til_setup_free_with_failed_setting_ret_err(til_setup_t *setup, til_setting_t *failed_setting, til_setting_t **res_setting, int err) +{ + assert(failed_setting); + assert(res_setting); + assert(err < 0); + + til_setup_free(setup); + *res_setting = failed_setting; + + return err; +} -- cgit v1.2.1