From 7d10ea85785427000ec73b2706260b3a40e20127 Mon Sep 17 00:00:00 2001 From: kremlin- Date: Thu, 19 Jun 2014 21:59:38 -0500 Subject: [PATCH] exit func for config, close()s and free()s --- src/config.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/config.c b/src/config.c index 5d85346..2b5ec06 100644 --- a/src/config.c +++ b/src/config.c @@ -3,6 +3,7 @@ #include static GKeyFile *config; +static int config_descr; static const gchar *CONFIG_KEYS[] = { "PrettyHostname", @@ -55,7 +56,6 @@ gboolean config_init() { return FALSE; } - int config_descr; config_descr = g_open(config_path, O_CREAT, 644); gchar *posix_hostname; @@ -86,10 +86,22 @@ gboolean config_init() { if(!g_access(config_path, W_OK)) { g_printf("%s\n", "no write permissions for /etc/! exiting.."); return FALSE; - } else if(g_key_file_load_from_file(config, config_path, G_KEY_FILE_KEEP_COMMENTS, NULL)) + } else if(g_key_file_load_from_file(config, config_path, G_KEY_FILE_KEEP_COMMENTS, NULL)) { + config_descr = g_open(config_path, O_RDWR, 644); return TRUE; + } g_printf("could not read config at %s! exiting..", config_path); return FALSE; } } + +void clean_config() { + + if(config) + g_free(config); + + if(config_descr) + g_close(config_descr, NULL); + +} -- 2.41.0