diff options
author | Max Kellermann <max@duempel.org> | 2011-09-09 22:15:28 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2011-09-09 23:01:22 +0200 |
commit | 9f5c938ff3cfe6f264340461c88defa2bb614cb0 (patch) | |
tree | b26252f3da5bd374c15cc9b6b03a8849b398a4e3 /src/conf.c | |
parent | b42a8d236434d7ec63c742d275cd7b75adbe760b (diff) | |
download | mpd-9f5c938ff3cfe6f264340461c88defa2bb614cb0.tar.gz mpd-9f5c938ff3cfe6f264340461c88defa2bb614cb0.tar.xz mpd-9f5c938ff3cfe6f264340461c88defa2bb614cb0.zip |
conf: add config_dup_block_path()
Diffstat (limited to 'src/conf.c')
-rw-r--r-- | src/conf.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/conf.c b/src/conf.c index 245a2a811..9e9c199fd 100644 --- a/src/conf.c +++ b/src/conf.c @@ -606,6 +606,26 @@ config_get_block_string(const struct config_param *param, const char *name, return bp->value; } +char * +config_dup_block_path(const struct config_param *param, const char *name, + GError **error_r) +{ + assert(error_r != NULL); + assert(*error_r == NULL); + + const struct block_param *bp = config_get_block_param(param, name); + if (bp == NULL) + return NULL; + + char *path = parsePath(bp->value, error_r); + if (G_UNLIKELY(path == NULL)) + g_prefix_error(error_r, + "Invalid path in \"%s\" at line %i: ", + name, bp->line); + + return path; +} + unsigned config_get_block_unsigned(const struct config_param *param, const char *name, unsigned default_value) |