From 236794235abeb0a98706e380905b4f4ada8d419a Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Fri, 24 Dec 2021 12:15:48 -0500 Subject: [PATCH] parameters: export empty BSON document even if there are no parameters to save - otherwise a 'param reset_all' won't be saved until a parameter is changed --- src/lib/parameters/parameters.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/lib/parameters/parameters.cpp b/src/lib/parameters/parameters.cpp index 0f113ad793..c47d4825b9 100644 --- a/src/lib/parameters/parameters.cpp +++ b/src/lib/parameters/parameters.cpp @@ -1371,11 +1371,6 @@ static int param_verify(int fd) int param_export(int fd, param_filter_func filter) { - /* no modified parameters -> we are done */ - if (param_values == nullptr) { - return 0; - } - int result = -1; perf_begin(param_export_perf); @@ -1410,6 +1405,12 @@ param_export(int fd, param_filter_func filter) goto out; } + // no modified parameters, export empty BSON document + if (param_values == nullptr) { + result = 0; + goto out; + } + while ((s = (struct param_wbuf_s *)utarray_next(param_values, s)) != nullptr) { if (filter && !filter(s->param)) { continue;