X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fconf.c;h=a33bdfea3b0b0624ef5681e79924582e20568b2b;hb=refs%2Fheads%2F1.1;hp=4dd8fe7a828888a2afc02111942744d0063501e7;hpb=3a149f7521dfff67e6a790c1a830afc649ae083e;p=tinc diff --git a/src/conf.c b/src/conf.c index 4dd8fe7a..d4c76ec8 100644 --- a/src/conf.c +++ b/src/conf.c @@ -4,7 +4,7 @@ 1998-2005 Ivo Timmermans 2000 Cris van Pelt 2010-2011 Julien Muchembled - 2000-2021 Guus Sliepen + 2000-2022 Guus Sliepen 2013 Florent Clairambault This program is free software; you can redistribute it and/or modify @@ -75,7 +75,7 @@ splay_tree_t config_tree = { .delete = (splay_action_t) free_config, }; -splay_tree_t *create_configuration() { +splay_tree_t *create_configuration(void) { splay_tree_t *tree = splay_alloc_tree(NULL, NULL); init_configuration(tree); return tree; @@ -87,9 +87,8 @@ void init_configuration(splay_tree_t *tree) { tree->delete = (splay_action_t) free_config; } -void exit_configuration(splay_tree_t **config_tree) { - splay_delete_tree(*config_tree); - *config_tree = NULL; +void exit_configuration(splay_tree_t *config_tree) { + splay_delete_tree(config_tree); } config_t *new_config(void) { @@ -98,7 +97,7 @@ config_t *new_config(void) { void free_config(config_t *cfg) { free(cfg->variable); - free(cfg->value); + free_string(cfg->value); free(cfg->file); free(cfg); } @@ -107,14 +106,14 @@ void config_add(splay_tree_t *config_tree, config_t *cfg) { splay_insert(config_tree, cfg); } -config_t *lookup_config(splay_tree_t *config_tree, char *variable) { - config_t cfg, *found; +config_t *lookup_config(splay_tree_t *config_tree, const char *variable) { + const config_t cfg = { + .variable = (char *)variable, + .file = NULL, + .line = 0, + }; - cfg.variable = variable; - cfg.file = NULL; - cfg.line = 0; - - found = splay_search_closest_greater(config_tree, &cfg); + config_t *found = splay_search_closest_greater(config_tree, &cfg); if(!found) { return NULL;