keys_save_bindings(): Skip unset key bindings

Saving unset key bindings currently results in a segmentation fault or
invalid key specifiers being stored. Skip these entries to avoid this.

Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
This commit is contained in:
Lukas Fleischer 2012-12-05 15:51:01 +01:00
parent a9cbf27536
commit db8886a34c

View File

@ -547,11 +547,15 @@ void keys_popup_info(enum key key)
void keys_save_bindings(FILE * fd)
{
int i;
char *action;
EXIT_IF(fd == NULL, _("FATAL ERROR: null file pointer."));
dump_intro(fd);
for (i = 0; i < NBKEYS; i++)
fprintf(fd, "%s %s\n", keydef[i].label, keys_action_allkeys(i));
for (i = 0; i < NBKEYS; i++) {
action = keys_action_allkeys(i);
if (action)
fprintf(fd, "%s %s\n", keydef[i].label, action);
}
}
int keys_check_missing_bindings(void)