summaryrefslogtreecommitdiffstats
path: root/support
diff options
context:
space:
mode:
Diffstat (limited to 'support')
-rw-r--r--support/include/conffile.h1
-rw-r--r--support/nfs/conffile.c12
2 files changed, 13 insertions, 0 deletions
diff --git a/support/include/conffile.h b/support/include/conffile.h
index 0e7fa8b..d4cb6b4 100644
--- a/support/include/conffile.h
+++ b/support/include/conffile.h
@@ -58,6 +58,7 @@ extern struct conf_list *conf_get_tag_list(const char *, const char *);
extern int conf_get_num(const char *, const char *, int);
extern _Bool conf_get_bool(const char *, const char *, _Bool);
extern char *conf_get_str(const char *, const char *);
+extern char *conf_get_str_with_def(const char *, const char *, char *);
extern char *conf_get_section(const char *, const char *, const char *);
extern void conf_init(const char *);
extern void conf_cleanup(void);
diff --git a/support/nfs/conffile.c b/support/nfs/conffile.c
index 8239d66..9c5ed8e 100644
--- a/support/nfs/conffile.c
+++ b/support/nfs/conffile.c
@@ -639,6 +639,18 @@ conf_get_str(const char *section, const char *tag)
return conf_get_section(section, NULL, tag);
}
+/* Return the string value denoted by TAG in section SECTION,
+ * unless it is not set, in which case return def
+ */
+char *
+conf_get_str_with_def(const char *section, const char *tag, char *def)
+{
+ char * result = conf_get_section(section, NULL, tag);
+ if (!result)
+ return def;
+ return result;
+}
+
/*
* Find a section that may or may not have an argument
*/