Added deallocation function for string prefs, added otr policy enum

This commit is contained in:
James Booth
2014-06-18 00:32:36 +01:00
parent 79ddf10484
commit 7344d3b898
11 changed files with 113 additions and 61 deletions

View File

@@ -164,19 +164,29 @@ prefs_get_string(preference_t pref)
const char *key = _get_key(pref);
char *def = _get_default_string(pref);
if (!g_key_file_has_key(prefs, group, key, NULL)) {
return def;
}
char *result = g_key_file_get_string(prefs, group, key, NULL);
if (result == NULL) {
return strdup(def);
if (def != NULL) {
return strdup(def);
} else {
return NULL;
}
} else {
return result;
}
}
void
prefs_free_string(char *pref)
{
if (pref != NULL) {
free(pref);
}
pref = NULL;
}
void
prefs_set_string(preference_t pref, char *value)
{

View File

@@ -115,6 +115,7 @@ void prefs_free_aliases(GList *aliases);
gboolean prefs_get_boolean(preference_t pref);
void prefs_set_boolean(preference_t pref, gboolean value);
char * prefs_get_string(preference_t pref);
void prefs_free_string(char *pref);
void prefs_set_string(preference_t pref, char *value);
#endif