mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-05 15:33:51 +00:00
idxmap: remove GIT__USE_IDXMAP
This commit is contained in:
parent
cee9ca6609
commit
8f1ff26bd3
16
src/idxmap.c
16
src/idxmap.c
@ -7,8 +7,20 @@
|
|||||||
|
|
||||||
#include "idxmap.h"
|
#include "idxmap.h"
|
||||||
|
|
||||||
GIT__USE_IDXMAP
|
/* This is __ac_X31_hash_string but with tolower and it takes the entry's stage into account */
|
||||||
GIT__USE_IDXMAP_ICASE
|
static kh_inline khint_t idxentry_hash(const git_index_entry *e)
|
||||||
|
{
|
||||||
|
const char *s = e->path;
|
||||||
|
khint_t h = (khint_t)git__tolower(*s);
|
||||||
|
if (h) for (++s ; *s; ++s) h = (h << 5) - h + (khint_t)git__tolower(*s);
|
||||||
|
return h + GIT_IDXENTRY_STAGE(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
#define idxentry_equal(a, b) (GIT_IDXENTRY_STAGE(a) == GIT_IDXENTRY_STAGE(b) && strcmp(a->path, b->path) == 0)
|
||||||
|
#define idxentry_icase_equal(a, b) (GIT_IDXENTRY_STAGE(a) == GIT_IDXENTRY_STAGE(b) && strcasecmp(a->path, b->path) == 0)
|
||||||
|
|
||||||
|
__KHASH_IMPL(idx, static kh_inline, const git_index_entry *, git_index_entry *, 1, idxentry_hash, idxentry_equal)
|
||||||
|
__KHASH_IMPL(idxicase, static kh_inline, const git_index_entry *, git_index_entry *, 1, idxentry_hash, idxentry_icase_equal)
|
||||||
|
|
||||||
int git_idxmap_alloc(git_idxmap **map)
|
int git_idxmap_alloc(git_idxmap **map)
|
||||||
{
|
{
|
||||||
|
18
src/idxmap.h
18
src/idxmap.h
@ -26,24 +26,6 @@ typedef khash_t(idxicase) git_idxmap_icase;
|
|||||||
|
|
||||||
typedef khiter_t git_idxmap_iter;
|
typedef khiter_t git_idxmap_iter;
|
||||||
|
|
||||||
/* This is __ac_X31_hash_string but with tolower and it takes the entry's stage into account */
|
|
||||||
static kh_inline khint_t idxentry_hash(const git_index_entry *e)
|
|
||||||
{
|
|
||||||
const char *s = e->path;
|
|
||||||
khint_t h = (khint_t)git__tolower(*s);
|
|
||||||
if (h) for (++s ; *s; ++s) h = (h << 5) - h + (khint_t)git__tolower(*s);
|
|
||||||
return h + GIT_IDXENTRY_STAGE(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
#define idxentry_equal(a, b) (GIT_IDXENTRY_STAGE(a) == GIT_IDXENTRY_STAGE(b) && strcmp(a->path, b->path) == 0)
|
|
||||||
#define idxentry_icase_equal(a, b) (GIT_IDXENTRY_STAGE(a) == GIT_IDXENTRY_STAGE(b) && strcasecmp(a->path, b->path) == 0)
|
|
||||||
|
|
||||||
#define GIT__USE_IDXMAP \
|
|
||||||
__KHASH_IMPL(idx, static kh_inline, const git_index_entry *, git_index_entry *, 1, idxentry_hash, idxentry_equal)
|
|
||||||
|
|
||||||
#define GIT__USE_IDXMAP_ICASE \
|
|
||||||
__KHASH_IMPL(idxicase, static kh_inline, const git_index_entry *, git_index_entry *, 1, idxentry_hash, idxentry_icase_equal)
|
|
||||||
|
|
||||||
int git_idxmap_alloc(git_idxmap **map);
|
int git_idxmap_alloc(git_idxmap **map);
|
||||||
int git_idxmap_icase_alloc(git_idxmap_icase **map);
|
int git_idxmap_icase_alloc(git_idxmap_icase **map);
|
||||||
void git_idxmap_insert(git_idxmap *map, const git_index_entry *key, void *value, int *rval);
|
void git_idxmap_insert(git_idxmap *map, const git_index_entry *key, void *value, int *rval);
|
||||||
|
@ -27,9 +27,6 @@
|
|||||||
#include "git2/config.h"
|
#include "git2/config.h"
|
||||||
#include "git2/sys/index.h"
|
#include "git2/sys/index.h"
|
||||||
|
|
||||||
GIT__USE_IDXMAP
|
|
||||||
GIT__USE_IDXMAP_ICASE
|
|
||||||
|
|
||||||
#define INSERT_IN_MAP_EX(idx, map, e, err) do { \
|
#define INSERT_IN_MAP_EX(idx, map, e, err) do { \
|
||||||
if ((idx)->ignore_case) \
|
if ((idx)->ignore_case) \
|
||||||
git_idxmap_icase_insert((khash_t(idxicase) *) (map), (e), (e), (err)); \
|
git_idxmap_icase_insert((khash_t(idxicase) *) (map), (e), (e), (err)); \
|
||||||
|
Loading…
Reference in New Issue
Block a user