@@ -44,9 +44,8 @@ size_t git_offmap_size(git_offmap *map)
4444
4545void * git_offmap_get (git_offmap * map , const git_off_t key )
4646{
47- size_t idx = git_offmap_lookup_index (map , key );
48- if (!git_offmap_valid_index (map , idx ) ||
49- !git_offmap_has_data (map , idx ))
47+ size_t idx = kh_get (off , map , key );
48+ if (idx == kh_end (map ) || !kh_exist (map , idx ))
5049 return NULL ;
5150 return kh_val (map , idx );
5251}
@@ -70,10 +69,10 @@ int git_offmap_set(git_offmap *map, const git_off_t key, void *value)
7069
7170int git_offmap_delete (git_offmap * map , const git_off_t key )
7271{
73- khiter_t idx = git_offmap_lookup_index ( map , key );
74- if (! git_offmap_valid_index (map , idx ))
72+ khiter_t idx = kh_get ( off , map , key );
73+ if (idx == kh_end (map ))
7574 return GIT_ENOTFOUND ;
76- git_offmap_delete_at ( map , idx );
75+ kh_del ( off , map , idx );
7776 return 0 ;
7877}
7978
@@ -86,79 +85,17 @@ int git_offmap_iterate(void **value, git_offmap *map, size_t *iter, git_off_t *k
8685{
8786 size_t i = * iter ;
8887
89- while (i < git_offmap_end ( map ) && !git_offmap_has_data (map , i ))
88+ while (i < map -> n_buckets && !kh_exist (map , i ))
9089 i ++ ;
9190
92- if (i >= git_offmap_end ( map ) )
91+ if (i >= map -> n_buckets )
9392 return GIT_ITEROVER ;
9493
9594 if (key )
96- * key = git_offmap_key_at (map , i );
95+ * key = kh_key (map , i );
9796 if (value )
98- * value = git_offmap_value_at (map , i );
97+ * value = kh_value (map , i );
9998 * iter = ++ i ;
10099
101100 return 0 ;
102101}
103-
104- size_t git_offmap_lookup_index (git_offmap * map , const git_off_t key )
105- {
106- return kh_get (off , map , key );
107- }
108-
109- int git_offmap_valid_index (git_offmap * map , size_t idx )
110- {
111- return idx != kh_end (map );
112- }
113-
114- int git_offmap_has_data (git_offmap * map , size_t idx )
115- {
116- return kh_exist (map , idx );
117- }
118-
119- git_off_t git_offmap_key_at (git_offmap * map , size_t idx )
120- {
121- return kh_key (map , idx );
122- }
123-
124- void * git_offmap_value_at (git_offmap * map , size_t idx )
125- {
126- return kh_val (map , idx );
127- }
128-
129- void git_offmap_set_value_at (git_offmap * map , size_t idx , void * value )
130- {
131- kh_val (map , idx ) = value ;
132- }
133-
134- void git_offmap_delete_at (git_offmap * map , size_t idx )
135- {
136- kh_del (off , map , idx );
137- }
138-
139- int git_offmap_put (git_offmap * map , const git_off_t key , int * err )
140- {
141- return kh_put (off , map , key , err );
142- }
143-
144- void git_offmap_insert (git_offmap * map , const git_off_t key , void * value , int * rval )
145- {
146- khiter_t idx = kh_put (off , map , key , rval );
147-
148- if ((* rval ) >= 0 ) {
149- if ((* rval ) == 0 )
150- kh_key (map , idx ) = key ;
151- kh_val (map , idx ) = value ;
152- }
153- }
154-
155- size_t git_offmap_begin (git_offmap * map )
156- {
157- GIT_UNUSED (map );
158- return 0 ;
159- }
160-
161- size_t git_offmap_end (git_offmap * map )
162- {
163- return map -> n_buckets ;
164- }
0 commit comments