luci-app-statistics: stat-genconfig: don't emit bools for absent uci options
authorJo-Philipp Wich <jo@mein.io>
Mon, 25 Apr 2022 18:55:02 +0000 (20:55 +0200)
committerJo-Philipp Wich <jo@mein.io>
Mon, 25 Apr 2022 18:59:39 +0000 (20:59 +0200)
Do not emit native collectd.conf boolean false options if the corresponding
uci option is unset in order to honour collectd's implicit defaults.

This fixes certain options, such as the memory plugins `ValuesAbsolute`,
being without effect if declared as default-enabled in the related plugin
uci forms.

Fixes: #5777
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
applications/luci-app-statistics/root/usr/bin/stat-genconfig

index fa59edc3a9cd42fa7c90f30e1da3a31de1c9fba3..15e11e193e36d4a9ce30e541e2d149636ea8fbf2 100755 (executable)
@@ -235,13 +235,13 @@ function _bool( s, n, nopad )
        local pad = ""
        if not nopad then pad = "\t" end
 
-       if s and s == "1" then
-               str = pad .. n .. " true"
-       else
-               str = pad .. n .. " false"
+       if s == "1" then
+               str = pad .. n .. " true\n"
+       elseif s == "0" then
+               str = pad .. n .. " false\n"
        end
 
-       return str .. "\n"
+       return str
 end
 
 function _string( s, n, nopad )