summaryrefslogtreecommitdiff
path: root/src/util.c
diff options
context:
space:
mode:
authorVicent Martí <vicent@github.com>2013-04-22 08:07:20 -0700
committerVicent Martí <vicent@github.com>2013-04-22 08:07:20 -0700
commitd08dd728a80eb993d80ec30d8c9f9025664c8990 (patch)
treef5cf7daf3913578f57076c2efc94bfd1f728068c /src/util.c
parenta92dd316079250b27cc933b1fd00cd6af88b88d9 (diff)
parentd87715926049390a2417a2476742114ec966686a (diff)
downloadlibgit2-d08dd728a80eb993d80ec30d8c9f9025664c8990.tar.gz
Merge pull request #1454 from libgit2/vmg/new-cache
New caching
Diffstat (limited to 'src/util.c')
-rw-r--r--src/util.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/util.c b/src/util.c
index 8e83d298e..c3fc69756 100644
--- a/src/util.c
+++ b/src/util.c
@@ -11,6 +11,7 @@
#include <ctype.h>
#include "posix.h"
#include "fileops.h"
+#include "cache.h"
#ifdef _MSC_VER
# include <Shlwapi.h>
@@ -94,12 +95,20 @@ int git_libgit2_opts(int key, ...)
error = git_futils_dirs_set(error, va_arg(ap, const char *));
break;
- case GIT_OPT_GET_ODB_CACHE_SIZE:
- *(va_arg(ap, size_t *)) = git_odb__cache_size;
+ case GIT_OPT_SET_CACHE_OBJECT_LIMIT:
+ {
+ git_otype type = (git_otype)va_arg(ap, int);
+ size_t size = va_arg(ap, size_t);
+ error = git_cache_set_max_object_size(type, size);
+ break;
+ }
+
+ case GIT_OPT_SET_CACHE_MAX_SIZE:
+ git_cache__max_storage = va_arg(ap, size_t);
break;
- case GIT_OPT_SET_ODB_CACHE_SIZE:
- git_odb__cache_size = va_arg(ap, size_t);
+ case GIT_OPT_ENABLE_CACHING:
+ git_cache__enabled = (va_arg(ap, int) != 0);
break;
}