Remove long_u: hashtab: Refactor other types.

Current type of some other parameters/variables can be improved:
- hashtab_T         : ht_error : int  -> bool.
- hash_clear_all()  : off      : int  -> unsigned int.
- hash_clear_all()  : todo     : long -> size_t.
- hash_may_resize() : todo     : int  -> size_t.
This commit is contained in:
Eliseo Martínez 2014-05-24 01:17:49 +02:00
parent ec89761e8a
commit 0509556b93
2 changed files with 7 additions and 6 deletions

View File

@ -55,9 +55,9 @@ void hash_clear(hashtab_T *ht)
/// Free the array of a hash table and all contained values.
///
/// @param off the offset from start of value to start of key (@see hashitem_T).
void hash_clear_all(hashtab_T *ht, int off)
void hash_clear_all(hashtab_T *ht, unsigned int off)
{
long todo = (long)ht->ht_used;
size_t todo = ht->ht_used;
for (hashitem_T *hi = ht->ht_array; todo > 0; ++hi) {
if (!HASHITEM_EMPTY(hi)) {
free(hi->hi_key - off);
@ -333,7 +333,7 @@ static int hash_may_resize(hashtab_T *ht, size_t minitems)
// the right spot. The new array won't have any removed items, thus this
// is also a cleanup action.
hash_T newmask = newsize - 1;
int todo = (int)ht->ht_used;
size_t todo = ht->ht_used;
for (hashitem_T *olditem = oldarray; todo > 0; ++olditem) {
if (!HASHITEM_EMPTY(olditem)) {
@ -362,7 +362,7 @@ static int hash_may_resize(hashtab_T *ht, size_t minitems)
ht->ht_array = newarray;
ht->ht_mask = newmask;
ht->ht_filled = ht->ht_used;
ht->ht_error = FALSE;
ht->ht_error = false;
return OK;
}

View File

@ -1,6 +1,7 @@
#ifndef NVIM_HASHTAB_H
#define NVIM_HASHTAB_H
#include <stdbool.h>
#include "nvim/vim.h"
/// Type for hash number (hash calculation result).
@ -58,7 +59,7 @@ typedef struct hashtable_S {
size_t ht_used; /// number of items used
size_t ht_filled; /// number of items used or removed
int ht_locked; /// counter for hash_lock()
int ht_error; /// when set growing failed, can't add more
bool ht_error; /// when set growing failed, can't add more
/// items before growing works
hashitem_T *ht_array; /// points to the array, allocated when it's
/// not "ht_smallarray"
@ -68,7 +69,7 @@ typedef struct hashtable_S {
// hashtab.c
void hash_init(hashtab_T *ht);
void hash_clear(hashtab_T *ht);
void hash_clear_all(hashtab_T *ht, int off);
void hash_clear_all(hashtab_T *ht, unsigned int off);
hashitem_T *hash_find(hashtab_T *ht, char_u *key);
hashitem_T *hash_lookup(hashtab_T *ht, char_u *key, hash_T hash);
void hash_debug_results(void);