@@ -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);
@@ -639,6 +639,17 @@ 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
*/
The similar config code in libnfsidmap had one additional feature of a get_str function with a default value option, include an equivalent function here to maintain compatibility. Signed-off-by: Justin Mitchell <jumitche@redhat.com> --- support/include/conffile.h | 1 + support/nfs/conffile.c | 11 +++++++++++ 2 files changed, 12 insertions(+)