oidmap: map with OID as key
This is similar to using the hashmap in hashmap.c, but with an easier-to-use API. In particular, custom entry comparisons no longer need to be written, and lookups can be done without constructing a temporary entry structure. This is implemented as a thin wrapper over the hashmap API. In particular, this means that there is an additional 4-byte overhead due to the fact that the first 4 bytes of the hash is redundantly stored. For now, I'm taking the simpler approach, but if need be, we can reimplement oidmap without affecting the callers significantly. oidset has been updated to use oidmap. Signed-off-by: Jonathan Tan <jonathantanmy@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
ea220ee40c
commit
9e6fabde82
@ -611,7 +611,7 @@ static int tip_oids_contain(struct oidset *tip_oids,
|
||||
* add to "newlist" between calls, the additions will always be for
|
||||
* oids that are already in the set.
|
||||
*/
|
||||
if (!tip_oids->map.tablesize) {
|
||||
if (!tip_oids->map.map.tablesize) {
|
||||
add_refs_to_oidset(tip_oids, unmatched);
|
||||
add_refs_to_oidset(tip_oids, newlist);
|
||||
}
|
||||
|
Reference in New Issue
Block a user