Skip to content

Commit 85d2748

Browse files
committed
khash: avoid using kh_key/kh_val as lvalue
1 parent f31cb45 commit 85d2748

File tree

10 files changed

+20
-17
lines changed

10 files changed

+20
-17
lines changed

src/cache.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -219,8 +219,8 @@ static void *cache_store(git_cache *cache, git_cached_obj *entry)
219219
git_cached_obj_decref(stored_entry);
220220
git_cached_obj_incref(entry);
221221

222-
git_oidmap_key(cache->map, pos) = &entry->oid;
223-
git_oidmap_value_at(cache->map, pos) = entry;
222+
git_oidmap_set_key_at(cache->map, pos, &entry->oid);
223+
git_oidmap_set_value_at(cache->map, pos, entry);
224224
} else {
225225
/* NO OP */
226226
}

src/indexer.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,7 @@ static int store_object(git_indexer *idx)
308308
}
309309

310310

311-
git_oidmap_value_at(idx->pack->idx_cache, k) = pentry;
311+
git_oidmap_set_value_at(idx->pack->idx_cache, k, pentry);
312312

313313
git_oid_cpy(&entry->oid, &oid);
314314

@@ -356,7 +356,7 @@ static int save_entry(git_indexer *idx, struct entry *entry, struct git_pack_ent
356356
return -1;
357357
}
358358

359-
git_oidmap_value_at(idx->pack->idx_cache, k) = pentry;
359+
git_oidmap_set_value_at(idx->pack->idx_cache, k, pentry);
360360

361361
/* Add the object to the list */
362362
if (git_vector_insert(&idx->objects, entry) < 0)

src/odb_mempack.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ static int impl__write(git_odb_backend *_backend, const git_oid *oid, const void
5757
obj->len = len;
5858
obj->type = type;
5959

60-
git_oidmap_key(db->objects, pos) = &obj->oid;
61-
git_oidmap_value_at(db->objects, pos) = obj;
60+
git_oidmap_set_key_at(db->objects, pos, &obj->oid);
61+
git_oidmap_set_value_at(db->objects, pos, obj);
6262

6363
if (type == GIT_OBJ_COMMIT) {
6464
struct memobject **store = git_array_alloc(db->commits);

src/oidmap.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,11 @@ GIT_INLINE(khint_t) git_oidmap_hash(const git_oid *oid)
3939
#define git_oidmap_exists(h, k) (kh_get(oid, h, k) != kh_end(h))
4040
#define git_oidmap_has_data(h, idx) kh_exist(h, idx)
4141

42-
#define git_oidmap_key(h, idx) kh_key(h, idx)
43-
#define git_oidmap_value_at(h, idx) kh_val(h, idx)
44-
#define git_oidmap_delete_at(h, idx) kh_del(oid, h, idx)
42+
#define git_oidmap_key(h, idx) kh_key(h, idx)
43+
#define git_oidmap_set_key_at(h, idx, k) kh_key(h, idx) = k
44+
#define git_oidmap_value_at(h, idx) kh_val(h, idx)
45+
#define git_oidmap_set_value_at(h, idx, v) kh_val(h, idx) = v
46+
#define git_oidmap_delete_at(h, idx) kh_del(oid, h, idx)
4547

4648
#define git_oidmap_put(h, k, err) kh_put(oid, h, k, err)
4749

src/pack-objects.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ static void rehash(git_packbuilder *pb)
200200
git_oidmap_clear(pb->object_ix);
201201
for (i = 0, po = pb->object_list; i < pb->nr_objects; i++, po++) {
202202
pos = git_oidmap_put(pb->object_ix, &po->id, &ret);
203-
git_oidmap_value_at(pb->object_ix, pos) = po;
203+
git_oidmap_set_value_at(pb->object_ix, pos, po);
204204
}
205205
}
206206

@@ -252,7 +252,7 @@ int git_packbuilder_insert(git_packbuilder *pb, const git_oid *oid,
252252
return ret;
253253
}
254254
assert(ret != 0);
255-
git_oidmap_value_at(pb->object_ix, pos) = po;
255+
git_oidmap_set_value_at(pb->object_ix, pos, po);
256256

257257
pb->done = false;
258258

src/pack.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ static int cache_add(
171171

172172
k = git_offmap_put(cache->entries, offset, &error);
173173
assert(error != 0);
174-
git_oidmap_value_at(cache->entries, k) = entry;
174+
git_offmap_set_value_at(cache->entries, k, entry);
175175
cache->memory_used += entry->raw.len;
176176

177177
*cached_out = entry;

src/revwalk.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ git_commit_list_node *git_revwalk__commit_lookup(
3737

3838
pos = git_oidmap_put(walk->commits, &commit->oid, &ret);
3939
assert(ret != 0);
40-
git_oidmap_value_at(walk->commits, pos) = commit;
40+
git_oidmap_set_value_at(walk->commits, pos, commit);
4141

4242
return commit;
4343
}

src/sortedcache.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -299,8 +299,8 @@ int git_sortedcache_upsert(void **out, git_sortedcache *sc, const char *key)
299299
goto done;
300300

301301
if (!error)
302-
git_strmap_key(sc->map, pos) = item_key;
303-
git_strmap_value_at(sc->map, pos) = item;
302+
git_strmap_set_key_at(sc->map, pos, item_key);
303+
git_strmap_set_value_at(sc->map, pos, item);
304304

305305
error = git_vector_insert(&sc->items, item);
306306
if (error < 0)

src/strmap.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ typedef khiter_t git_strmap_iter;
3838
#define git_strmap_has_data(h, idx) kh_exist(h, idx)
3939

4040
#define git_strmap_key(h, idx) kh_key(h, idx)
41+
#define git_strmap_set_key_at(h, idx, k) kh_val(h, idx) = k
4142
#define git_strmap_value_at(h, idx) kh_val(h, idx)
4243
#define git_strmap_set_value_at(h, idx, v) kh_val(h, idx) = v
4344
#define git_strmap_delete_at(h, idx) kh_del(str, h, idx)

tests/core/oidmap.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ void test_core_oidmap__basic(void)
3939
pos = git_oidmap_put(map, &items[i].oid, &ret);
4040
cl_assert(ret != 0);
4141

42-
git_oidmap_value_at(map, pos) = &items[i];
42+
git_oidmap_set_value_at(map, pos, &items[i]);
4343
}
4444

4545

@@ -93,7 +93,7 @@ void test_core_oidmap__hash_collision(void)
9393
pos = git_oidmap_put(map, &items[i].oid, &ret);
9494
cl_assert(ret != 0);
9595

96-
git_oidmap_value_at(map, pos) = &items[i];
96+
git_oidmap_set_value_at(map, pos, &items[i]);
9797
}
9898

9999

0 commit comments

Comments
 (0)