Пример #1
0
Encodings *encodings_load(void)
{
    char *filename = options_file_build_filename("Encodings", NULL);

    if (filename)
    {
        GKeyFile *kf = options_file_open("Encodings", encodings_group_name);
        int count = options_file_lookup_int_with_default(kf,
            encodings_group_name, "n", 0);
        GPtrArray *enc = g_ptr_array_sized_new(count);
        int n;

        for (n = 0; n < count; ++n)
        {
            char *v = options_file_lookup_string_with_default(kf,
                    encodings_group_name, encodings_get_key(n), NULL);

            g_ptr_array_add(enc, v);
        }
        g_free(filename);
        g_key_file_free(kf);
        g_ptr_array_sort(enc, (GCompareFunc) encodings_compare);
        return enc;
    }
    else
    {
        return encodings_build_default();
    }
}
Пример #2
0
void options_reload_keyfile(Options *options)
{
	if (options->kf)
		options_delete_keyfile(options);
	options->kf = options_file_open(options->name, options->group_name);
	options->kf_dirty = FALSE;
}