Simplify args_set, from Tiago Cunha.

pull/1/head
nicm 2014-01-09 13:51:57 +00:00
parent 1751da76d5
commit 66829ee12e
1 changed files with 5 additions and 9 deletions

View File

@ -205,19 +205,15 @@ args_set(struct args *args, u_char ch, const char *value)
/* Replace existing argument. */
if ((entry = args_find(args, ch)) != NULL) {
free(entry->value);
if (value != NULL)
entry->value = xstrdup(value);
else
entry->value = NULL;
return;
entry->value = NULL;
} else {
entry = xcalloc(1, sizeof *entry);
entry->flag = ch;
RB_INSERT(args_tree, &args->tree, entry);
}
entry = xcalloc(1, sizeof *entry);
entry->flag = ch;
if (value != NULL)
entry->value = xstrdup(value);
RB_INSERT(args_tree, &args->tree, entry);
}
/* Get argument value. Will be NULL if it isn't present. */