From: Vsevolod Stakhov Date: Sat, 3 May 2025 12:27:10 +0000 (+0100) Subject: [Minor] Exclude empty objects X-Git-Tag: 3.12.0~26^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c72a4047f867ca0995273a284c38d09c5485c8bc;p=thirdparty%2Frspamd.git [Minor] Exclude empty objects --- diff --git a/src/rspamadm/configdump.c b/src/rspamadm/configdump.c index 620a5c42f9..04e1f94ec9 100644 --- a/src/rspamadm/configdump.c +++ b/src/rspamadm/configdump.c @@ -130,14 +130,23 @@ filter_non_default(const ucl_object_t *obj) } if (ucl_object_type(obj) == UCL_OBJECT || ucl_object_type(obj) == UCL_ARRAY) { + bool has_non_default = false; + result = ucl_object_typed_new(ucl_object_type(obj)); while ((cur = ucl_object_iterate(obj, &it, true))) { ucl_object_t *filtered = filter_non_default(cur); if (filtered) { + has_non_default = true; ucl_object_insert_key(result, filtered, ucl_object_key(cur), cur->keylen, true); } } + /* Avoid empty objects */ + if (!has_non_default) { + ucl_object_unref(result); + result = NULL; + } + return result; }