X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fconf.c;h=5231a9dfca25fc16c1a8fd3fbf63b9c0a8001081;hb=f2b21858a8e77663a02c2d586b21c5568fb435a0;hp=ed51fc75f1391df10e3dfd6e207aff4e1ebd02d8;hpb=8fb3cf697d16e4870d7305866d03240acd49b386;p=meshlink diff --git a/src/conf.c b/src/conf.c index ed51fc75..5231a9df 100644 --- a/src/conf.c +++ b/src/conf.c @@ -51,7 +51,8 @@ void init_configuration(splay_tree_t **config_tree) { } void exit_configuration(splay_tree_t **config_tree) { - splay_delete_tree(*config_tree); + if(*config_tree) + splay_delete_tree(*config_tree); *config_tree = NULL; } @@ -290,7 +291,7 @@ bool read_config_file(splay_tree_t *config_tree, const char *fname) { return result; } -bool read_server_config(void) { +bool read_server_config(meshlink_handle_t *mesh) { char filename[PATH_MAX]; bool x; @@ -304,7 +305,7 @@ bool read_server_config(void) { return x; } -bool read_host_config(splay_tree_t *config_tree, const char *name) { +bool read_host_config(meshlink_handle_t *mesh, splay_tree_t *config_tree, const char *name) { char filename[PATH_MAX]; bool x; @@ -314,7 +315,7 @@ bool read_host_config(splay_tree_t *config_tree, const char *name) { return x; } -bool append_config_file(const char *name, const char *key, const char *value) { +bool append_config_file(meshlink_handle_t *mesh, const char *name, const char *key, const char *value) { char filename[PATH_MAX]; snprintf(filename,PATH_MAX, "%s" SLASH "hosts" SLASH "%s", mesh->confbase, name); @@ -323,10 +324,9 @@ bool append_config_file(const char *name, const char *key, const char *value) { if(!fp) { logger(DEBUG_ALWAYS, LOG_ERR, "Cannot open config file %s: %s", filename, strerror(errno)); } else { - fprintf(fp, "\n# The following line was automatically added by tinc\n%s = %s\n", key, value); + fprintf(fp, "%s = %s\n", key, value); fclose(fp); } - return fp != NULL; }