Simplify args_set, from Tiago Cunha.

This commit is contained in:
nicm 2014-01-09 13:51:57 +00:00
parent 1751da76d5
commit 66829ee12e

View File

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