summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--utils/nsoption.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/utils/nsoption.c b/utils/nsoption.c
index 34c653b23..e2fe225f2 100644
--- a/utils/nsoption.c
+++ b/utils/nsoption.c
@@ -395,19 +395,15 @@ nsoption_init(nsoption_set_default_t *set_defaults,
src = &defaults[0];
dst = opts;
+ memcpy(dst, src, sizeof(defaults));
+
while (src->key != NULL) {
- dst->key = src->key;
- dst->key_len = src->key_len;
- dst->type = src->type;
if ((src->type == OPTION_STRING) && (src->value.s != NULL)) {
dst->value.s = strdup(src->value.s);
- } else {
- dst->value = src->value;
}
src++;
dst++;
}
- dst->key = src->key;
/* return values if wanted */
if (popts != NULL) {