qht: simplify qht_reset_size
Sometimes gcc doesn't pick up the fact that 'new' is properly set if 'resize == true', which may generate an unnecessary build warning. Fix it by removing 'resize' and directly checking that 'new' is non-NULL. Signed-off-by: Emilio G. Cota <cota@braap.org> Message-Id: <1475706880-10667-2-git-send-email-cota@braap.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
e424b6550f
commit
f555a9d0b3
@ -410,10 +410,9 @@ void qht_reset(struct qht *ht)
|
|||||||
|
|
||||||
bool qht_reset_size(struct qht *ht, size_t n_elems)
|
bool qht_reset_size(struct qht *ht, size_t n_elems)
|
||||||
{
|
{
|
||||||
struct qht_map *new;
|
struct qht_map *new = NULL;
|
||||||
struct qht_map *map;
|
struct qht_map *map;
|
||||||
size_t n_buckets;
|
size_t n_buckets;
|
||||||
bool resize = false;
|
|
||||||
|
|
||||||
n_buckets = qht_elems_to_buckets(n_elems);
|
n_buckets = qht_elems_to_buckets(n_elems);
|
||||||
|
|
||||||
@ -421,18 +420,17 @@ bool qht_reset_size(struct qht *ht, size_t n_elems)
|
|||||||
map = ht->map;
|
map = ht->map;
|
||||||
if (n_buckets != map->n_buckets) {
|
if (n_buckets != map->n_buckets) {
|
||||||
new = qht_map_create(n_buckets);
|
new = qht_map_create(n_buckets);
|
||||||
resize = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
qht_map_lock_buckets(map);
|
qht_map_lock_buckets(map);
|
||||||
qht_map_reset__all_locked(map);
|
qht_map_reset__all_locked(map);
|
||||||
if (resize) {
|
if (new) {
|
||||||
qht_do_resize(ht, new);
|
qht_do_resize(ht, new);
|
||||||
}
|
}
|
||||||
qht_map_unlock_buckets(map);
|
qht_map_unlock_buckets(map);
|
||||||
qemu_mutex_unlock(&ht->lock);
|
qemu_mutex_unlock(&ht->lock);
|
||||||
|
|
||||||
return resize;
|
return !!new;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline
|
static inline
|
||||||
|
Loading…
Reference in New Issue
Block a user