There is no API for writing a GKeyFile back, so we need a hack like
this.
{
GKeyFile *file;
GList *f;
{
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)) {
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)) {
g_key_file_set_value(file, friend->name, "address", friend->address);
g_key_file_set_value(file, friend->name, "port", friend->port);
}
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;
}
g_key_file_free(file);
return 0;
}