Committer: Tim Just <tim.just@xxxxxxxxxxxxxx> Date: 18/03/2010 at 19:07:11 Revision: 3698 Revision-id: tim.just@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Branch nick: tiny Log: Simplified state init function handling. Modified: M lib/modularization/lmod.c === modified file 'lib/modularization/lmod.c' --- lib/modularization/lmod.c 2010-03-18 17:02:19 +0000 +++ lib/modularization/lmod.c 2010-03-18 17:06:56 +0000 @@ -34,7 +34,7 @@ * lmod_init_state_items to initialize all items of a modular state instance. * */ -static hip_ll_t *state_init_functions; +static hip_ll_t state_init_functions; /** * List of module identifier. @@ -102,26 +102,11 @@ */ int lmod_register_state_init_function(void *func) { - int err = 0; - hip_ll_t *new_func_list = NULL; - if (!func) { return -1; } - if (!state_init_functions) { - - if (!(new_func_list = malloc(sizeof(hip_ll_t)))) { - return -1; - } - - hip_ll_init(new_func_list); - state_init_functions = new_func_list; - } - - err = hip_ll_add_last(state_init_functions, func); - - return err; + return hip_ll_add_last(&state_init_functions, func); } /** @@ -140,7 +125,7 @@ hip_ll_node_t *iter = NULL; int (*init_function)(struct modular_state *state) = NULL; - while ((iter = hip_ll_iterate(state_init_functions, iter))) { + while ((iter = hip_ll_iterate(&state_init_functions, iter))) { init_function = iter->ptr; init_function(state); }