diff options
author | Linquize <linquize@yahoo.com.hk> | 2013-09-17 23:38:52 +0800 |
---|---|---|
committer | Linquize <linquize@yahoo.com.hk> | 2013-09-18 00:00:41 +0800 |
commit | b99b10f285fec710273d1233b057ff33a6e44993 (patch) | |
tree | 2f3da9e9912743107cd4e008dbfe6d6980d451bf | |
parent | 7e8934bba206bf28e3f51eb583aadde051129b11 (diff) | |
download | libgit2-b99b10f285fec710273d1233b057ff33a6e44993.tar.gz |
Can git_libgit2_opts() with GIT_OPT_GET_TEMPLATE_PATH and GIT_OPT_SET_TEMPLATE_PATH
-rw-r--r-- | include/git2/common.h | 16 | ||||
-rw-r--r-- | src/util.c | 13 |
2 files changed, 28 insertions, 1 deletions
diff --git a/include/git2/common.h b/include/git2/common.h index d7df7327e..bb2e63637 100644 --- a/include/git2/common.h +++ b/include/git2/common.h @@ -136,7 +136,9 @@ typedef enum { GIT_OPT_SET_CACHE_OBJECT_LIMIT, GIT_OPT_SET_CACHE_MAX_SIZE, GIT_OPT_ENABLE_CACHING, - GIT_OPT_GET_CACHED_MEMORY + GIT_OPT_GET_CACHED_MEMORY, + GIT_OPT_GET_TEMPLATE_PATH, + GIT_OPT_SET_TEMPLATE_PATH } git_libgit2_opt_t; /** @@ -210,6 +212,18 @@ typedef enum { * > Get the current bytes in cache and the maximum that would be * > allowed in the cache. * + * * opts(GIT_OPT_GET_SEARCH_PATH, char *out, size_t len) + * + * > Get the default template path. + * > The path is written to the `out` + * > buffer up to size `len`. Returns GIT_EBUFS if buffer is too small. + * + * * opts(GIT_OPT_SET_TEMPLATE_PATH, const char *path) + * + * > Set the default template path. + * > + * > - `path` directory of template. + * * @param option Option key * @param ... value to set the option * @return 0 on success, <0 on failure diff --git a/src/util.c b/src/util.c index d0c326ae5..4bb1f7e4e 100644 --- a/src/util.c +++ b/src/util.c @@ -117,6 +117,19 @@ int git_libgit2_opts(int key, ...) *(va_arg(ap, ssize_t *)) = git_cache__current_storage.val; *(va_arg(ap, ssize_t *)) = git_cache__max_storage; break; + + case GIT_OPT_GET_TEMPLATE_PATH: + { + char *out = va_arg(ap, char *); + size_t outlen = va_arg(ap, size_t); + + error = git_futils_dirs_get_str(out, outlen, GIT_FUTILS_DIR_TEMPLATE); + } + break; + + case GIT_OPT_SET_TEMPLATE_PATH: + error = git_futils_dirs_set(GIT_FUTILS_DIR_TEMPLATE, va_arg(ap, const char *)); + break; } va_end(ap); |