From e54b49cb13f9ecc6a9133957cda4c6d786967841 Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Tue, 6 Dec 2016 13:18:26 -0500 Subject: conffile: ignore setting of empty string A value setting like foo = is now equivalent to not setting "foo" at all. This is likely to be least confusing. Signed-off-by: NeilBrown Signed-off-by: Steve Dickson --- support/nfs/conffile.c | 2 ++ systemd/nfs.conf.man | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/support/nfs/conffile.c b/support/nfs/conffile.c index 947bf9b..eaff5f5 100644 --- a/support/nfs/conffile.c +++ b/support/nfs/conffile.c @@ -748,6 +748,8 @@ conf_set(int transaction, char *section, char *arg, { struct conf_trans *node; + if (!value || !*value) + return 0; node = conf_trans_node(transaction, CONF_SET); if (!node) return 1; diff --git a/systemd/nfs.conf.man b/systemd/nfs.conf.man index 8e2f034..8cf5566 100644 --- a/systemd/nfs.conf.man +++ b/systemd/nfs.conf.man @@ -36,7 +36,8 @@ in the current section to Leading and trailing spaces and tab are ignored, as are spaces and tabs surrounding the equals sign. Single and double quotes surrounding the assigned value are also -removed. +removed. If the resulting string is empty, the whole assignment +is ignored. .PP Any line starting with .RB \*(lq # \*(rq -- cgit