#include "cache.h" | |
#include "oidset.h" | |
int oidset_contains(const struct oidset *set, const struct object_id *oid) | |
{ | |
if (!set->map.map.tablesize) | |
return 0; | |
return !!oidmap_get(&set->map, oid); | |
} | |
int oidset_insert(struct oidset *set, const struct object_id *oid) | |
{ | |
struct oidmap_entry *entry; | |
if (!set->map.map.tablesize) | |
oidmap_init(&set->map, 0); | |
else if (oidset_contains(set, oid)) | |
return 1; | |
entry = xmalloc(sizeof(*entry)); | |
oidcpy(&entry->oid, oid); | |
oidmap_put(&set->map, entry); | |
return 0; | |
} | |
void oidset_clear(struct oidset *set) | |
{ | |
oidmap_free(&set->map, 1); | |
} |