diff options
author | James Booth <boothj5@gmail.com> | 2014-06-18 21:36:09 +0100 |
---|---|---|
committer | James Booth <boothj5@gmail.com> | 2014-06-18 21:36:09 +0100 |
commit | d668d15081f3d38d618457cb9016100acc6877dc (patch) | |
tree | f15f1535cd42bd6c101dc1bbfeb97902219f98eb | |
parent | 7344d3b8987f6e2edb12a3861a07006e27fb80e5 (diff) | |
download | profani-tty-d668d15081f3d38d618457cb9016100acc6877dc.tar.gz |
Free aliases on cmd_init
-rw-r--r-- | src/command/command.c | 1 | ||||
-rw-r--r-- | src/config/preferences.c | 12 |
2 files changed, 9 insertions, 4 deletions
diff --git a/src/command/command.c b/src/command/command.c index 6882109f..20e29795 100644 --- a/src/command/command.c +++ b/src/command/command.c @@ -971,6 +971,7 @@ cmd_init(void) g_string_free(ac_alias, TRUE); curr = g_list_next(curr); } + prefs_free_aliases(aliases); prefs_ac = autocomplete_new(); autocomplete_add(prefs_ac, "ui"); diff --git a/src/config/preferences.c b/src/config/preferences.c index 49203bfb..b187bc32 100644 --- a/src/config/preferences.c +++ b/src/config/preferences.c @@ -348,11 +348,15 @@ prefs_get_aliases(void) char *name = keys[i]; char *value = g_key_file_get_string(prefs, PREF_GROUP_ALIAS, name, NULL); - ProfAlias *alias = malloc(sizeof(struct prof_alias_t)); - alias->name = strdup(name); - alias->value = strdup(value); + if (value != NULL) { + ProfAlias *alias = malloc(sizeof(struct prof_alias_t)); + alias->name = strdup(name); + alias->value = strdup(value); - result = g_list_insert_sorted(result, alias, (GCompareFunc)_alias_cmp); + free(value); + + result = g_list_insert_sorted(result, alias, (GCompareFunc)_alias_cmp); + } } g_strfreev(keys); |