diff options
Diffstat (limited to 'support')
-rw-r--r-- | support/include/conffile.h | 1 | ||||
-rw-r--r-- | support/nfs/conffile.c | 12 |
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 */ |