diff options
author | Carlos Martín Nieto <cmn@dwim.me> | 2015-01-14 15:05:43 +0100 |
---|---|---|
committer | Carlos Martín Nieto <cmn@dwim.me> | 2015-01-14 19:36:50 +0100 |
commit | eac773d92bccc7d3fc7ce1b18578d374873e0d7a (patch) | |
tree | eb165d11a1a30274ed7ff40d27bd461640067bc3 /include/git2/config.h | |
parent | 4d6f55acce14eeec55729e55335635375e9026df (diff) | |
download | libgit2-cmn/config-get-path.tar.gz |
config: add parsing and getter for pathscmn/config-get-path
Diffstat (limited to 'include/git2/config.h')
-rw-r--r-- | include/git2/config.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/include/git2/config.h b/include/git2/config.h index e32c614ea..1ed8d2441 100644 --- a/include/git2/config.h +++ b/include/git2/config.h @@ -320,6 +320,24 @@ GIT_EXTERN(int) git_config_get_int64(int64_t *out, const git_config *cfg, const GIT_EXTERN(int) git_config_get_bool(int *out, const git_config *cfg, const char *name); /** + * Get the value of a path config variable. + * + * A leading '~' will be expanded to the global search path (which + * defaults to the user's home directory but can be overridden via + * `git_libgit2_opts()`. + * + * All config files will be looked into, in the order of their + * defined level. A higher level means a higher priority. The + * first occurrence of the variable will be returned here. + * + * @param out the buffer in which to store the result + * @param cfg where to look for the variable + * @param name the variable's name + * @param 0 or an error code + */ +GIT_EXTERN(int) git_config_get_path(git_buf *out, const git_config *cfg, const char *name); + +/** * Get the value of a string config variable. * * The string is owned by the variable and should not be freed by the @@ -615,6 +633,20 @@ GIT_EXTERN(int) git_config_parse_int32(int32_t *out, const char *value); */ GIT_EXTERN(int) git_config_parse_int64(int64_t *out, const char *value); +/** + * Parse a string value as a path. + * + * A leading '~' will be expanded to the global search path (which + * defaults to the user's home directory but can be overridden via + * `git_libgit2_opts()`. + * + * If the value does not begin with a tilde, the input will be + * returned. + * + * @param out placae to store the result of parsing + * @param value the path to evaluate + */ +GIT_EXTERN(int) git_config_parse_path(git_buf *out, const char *value); /** * Perform an operation on each config variable in given config backend |