From a7ab68fd9b5ec9e9dc4a363c9bc90945b44b68b2 Mon Sep 17 00:00:00 2001 From: Thadeu Lima de Souza Cascardo Date: Mon, 7 Oct 2013 22:06:43 -0300 Subject: [PATCH] Write GKeyFile data to a file. There is no API for writing a GKeyFile back, so we need a hack like this. --- friend.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/friend.c b/friend.c index 07a6556..dc0f25e 100644 --- a/friend.c +++ b/friend.c @@ -129,6 +129,8 @@ int store_cache(struct cache *cache, char *fname) { GKeyFile *file; GList *f; + gchar *contents; + gssize len; file = g_key_file_new(); g_key_file_load_from_file(file, fname, G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS, NULL); for (f = g_list_first(cache->friends); f != NULL; f = g_list_next(f)) { @@ -137,6 +139,9 @@ int store_cache(struct cache *cache, char *fname) g_key_file_set_value(file, friend->name, "address", friend->address); g_key_file_set_value(file, friend->name, "port", friend->port); } + contents = g_key_file_to_data(file, &len, NULL); + g_file_set_contents(fname, contents, len, NULL); + g_free(contents); g_key_file_free(file); return 0; } -- 2.20.1