diff options
Diffstat (limited to 'src/oidmap.c')
-rw-r--r-- | src/oidmap.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/oidmap.c b/src/oidmap.c index 1e2b8124b..2890fdb28 100644 --- a/src/oidmap.c +++ b/src/oidmap.c @@ -57,6 +57,23 @@ void *git_oidmap_get(git_oidmap *map, const git_oid *key) return kh_val(map, idx); } +int git_oidmap_set(git_oidmap *map, const git_oid *key, void *value) +{ + size_t idx; + int rval; + + idx = kh_put(oid, map, key, &rval); + if (rval < 0) + return -1; + + if (rval == 0) + kh_key(map, idx) = key; + + kh_val(map, idx) = value; + + return 0; +} + size_t git_oidmap_lookup_index(git_oidmap *map, const git_oid *key) { return kh_get(oid, map, key); |