mirror of
https://github.com/rkd77/elinks.git
synced 2024-11-04 08:17:17 -05:00
Do not export init_hash(),strhash() and hash_size() anymore, use a
wrapper named init_hash8() instead.
This commit is contained in:
parent
4c5d4bcf34
commit
54099f5286
@ -41,7 +41,7 @@ get_bfu_color(struct terminal *term, unsigned char *stylename)
|
|||||||
|
|
||||||
if (!bfu_colors) {
|
if (!bfu_colors) {
|
||||||
/* Initialize the style hash. */
|
/* Initialize the style hash. */
|
||||||
bfu_colors = init_hash(8, &strhash);
|
bfu_colors = init_hash8();
|
||||||
if (!bfu_colors) return NULL;
|
if (!bfu_colors) return NULL;
|
||||||
|
|
||||||
last_color_mode = color_mode;
|
last_color_mode = color_mode;
|
||||||
|
@ -339,7 +339,7 @@ add_bookmark_item_to_bookmarks(struct bookmark *bm, struct bookmark *root, int p
|
|||||||
|
|
||||||
/* Hash creation if needed. */
|
/* Hash creation if needed. */
|
||||||
if (!bookmark_cache)
|
if (!bookmark_cache)
|
||||||
bookmark_cache = init_hash(8, &strhash);
|
bookmark_cache = init_hash8();
|
||||||
|
|
||||||
/* Create a new entry. */
|
/* Create a new entry. */
|
||||||
if (check_bookmark_cache(bm->url))
|
if (check_bookmark_cache(bm->url))
|
||||||
|
@ -1750,7 +1750,7 @@ format_html_part(struct html_context *html_context,
|
|||||||
|
|
||||||
/* Hash creation if needed. */
|
/* Hash creation if needed. */
|
||||||
if (!table_cache) {
|
if (!table_cache) {
|
||||||
table_cache = init_hash(8, &strhash);
|
table_cache = init_hash8();
|
||||||
} else if (!document) {
|
} else if (!document) {
|
||||||
/* Search for cached entry. */
|
/* Search for cached entry. */
|
||||||
struct table_cache_entry_key key;
|
struct table_cache_entry_key key;
|
||||||
|
@ -248,7 +248,7 @@ add_item_to_global_history(struct global_history_item *history_item,
|
|||||||
|
|
||||||
/* Hash creation if needed. */
|
/* Hash creation if needed. */
|
||||||
if (!globhist_cache)
|
if (!globhist_cache)
|
||||||
globhist_cache = init_hash(8, &strhash);
|
globhist_cache = init_hash8();
|
||||||
|
|
||||||
if (globhist_cache && globhist_cache_entries < max_globhist_items) {
|
if (globhist_cache && globhist_cache_entries < max_globhist_items) {
|
||||||
int urllen = strlen(history_item->url);
|
int urllen = strlen(history_item->url);
|
||||||
|
@ -308,7 +308,7 @@ unregister_event_hooks(struct event_hook_info *hooks)
|
|||||||
void
|
void
|
||||||
init_event(void)
|
init_event(void)
|
||||||
{
|
{
|
||||||
event_hash = init_hash(8, strhash);
|
event_hash = init_hash8();
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -396,7 +396,7 @@ init_mailcap_map(void)
|
|||||||
unsigned char *path;
|
unsigned char *path;
|
||||||
unsigned int priority = 0;
|
unsigned int priority = 0;
|
||||||
|
|
||||||
mailcap_map = init_hash(8, &strhash);
|
mailcap_map = init_hash8();
|
||||||
if (!mailcap_map) return NULL;
|
if (!mailcap_map) return NULL;
|
||||||
|
|
||||||
/* Try to setup mailcap_path */
|
/* Try to setup mailcap_path */
|
||||||
|
@ -171,7 +171,7 @@ init_mimetypes_map(void)
|
|||||||
{
|
{
|
||||||
unsigned char *path;
|
unsigned char *path;
|
||||||
|
|
||||||
mimetypes_map = init_hash(8, &strhash);
|
mimetypes_map = init_hash8();
|
||||||
if (!mimetypes_map)
|
if (!mimetypes_map)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
@ -1518,7 +1518,7 @@ get_uri(unsigned char *string, enum uri_component components)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!is_object_used(&uri_cache)) {
|
if (!is_object_used(&uri_cache)) {
|
||||||
uri_cache.map = init_hash(hash_size(3), strhash);
|
uri_cache.map = init_hash8();
|
||||||
if (!uri_cache.map) return NULL;
|
if (!uri_cache.map) return NULL;
|
||||||
object_nolock(&uri_cache, "uri_cache");
|
object_nolock(&uri_cache, "uri_cache");
|
||||||
}
|
}
|
||||||
|
@ -22,8 +22,11 @@
|
|||||||
* array (same hash value). */
|
* array (same hash value). */
|
||||||
|
|
||||||
#define hash_mask(n) (hash_size(n) - 1)
|
#define hash_mask(n) (hash_size(n) - 1)
|
||||||
|
#define hash_size(n) (1 << (n))
|
||||||
|
|
||||||
struct hash *
|
static hash_value_T strhash(unsigned char *k, unsigned int length, hash_value_T initval);
|
||||||
|
|
||||||
|
static inline struct hash *
|
||||||
init_hash(unsigned int width, hash_func_T func)
|
init_hash(unsigned int width, hash_func_T func)
|
||||||
{
|
{
|
||||||
struct hash *hash;
|
struct hash *hash;
|
||||||
@ -47,6 +50,12 @@ init_hash(unsigned int width, hash_func_T func)
|
|||||||
return hash;
|
return hash;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct hash *
|
||||||
|
init_hash8(void)
|
||||||
|
{
|
||||||
|
return init_hash(8, &strhash);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
free_hash(struct hash *hash)
|
free_hash(struct hash *hash)
|
||||||
{
|
{
|
||||||
@ -130,7 +139,7 @@ del_hash_item(struct hash *hash, struct hash_item *item)
|
|||||||
#ifdef X31_HASH
|
#ifdef X31_HASH
|
||||||
|
|
||||||
/* Fast string hashing. */
|
/* Fast string hashing. */
|
||||||
hash_value_T
|
static hash_value_T
|
||||||
strhash(unsigned char *k, /* the key */
|
strhash(unsigned char *k, /* the key */
|
||||||
unsigned int length, /* the length of the key */
|
unsigned int length, /* the length of the key */
|
||||||
hash_value_T initval /* the previous hash, or an arbitrary value */)
|
hash_value_T initval /* the previous hash, or an arbitrary value */)
|
||||||
@ -251,7 +260,7 @@ strhash(unsigned char *k, /* the key */
|
|||||||
+ ((hash_value_T) (k[(a)+2])<<16) \
|
+ ((hash_value_T) (k[(a)+2])<<16) \
|
||||||
+ ((hash_value_T) (k[(a)+3])<<24))
|
+ ((hash_value_T) (k[(a)+3])<<24))
|
||||||
|
|
||||||
hash_value_T
|
static hash_value_T
|
||||||
strhash(unsigned char *k, /* the key */
|
strhash(unsigned char *k, /* the key */
|
||||||
unsigned int length, /* the length of the key */
|
unsigned int length, /* the length of the key */
|
||||||
hash_value_T initval /* the previous hash, or an arbitrary value */)
|
hash_value_T initval /* the previous hash, or an arbitrary value */)
|
||||||
|
@ -23,18 +23,16 @@ struct hash {
|
|||||||
struct list_head hash[1]; /* Must be at end ! */
|
struct list_head hash[1]; /* Must be at end ! */
|
||||||
};
|
};
|
||||||
|
|
||||||
#define hash_size(n) (1 << (n))
|
struct hash *init_hash8(void);
|
||||||
|
|
||||||
struct hash *init_hash(unsigned int width, hash_func_T func);
|
|
||||||
void free_hash(struct hash *hash);
|
void free_hash(struct hash *hash);
|
||||||
|
|
||||||
struct hash_item *add_hash_item(struct hash *hash, unsigned char *key, unsigned int keylen, void *value);
|
struct hash_item *add_hash_item(struct hash *hash, unsigned char *key, unsigned int keylen, void *value);
|
||||||
struct hash_item *get_hash_item(struct hash *hash, unsigned char *key, unsigned int keylen);
|
struct hash_item *get_hash_item(struct hash *hash, unsigned char *key, unsigned int keylen);
|
||||||
void del_hash_item(struct hash *hash, struct hash_item *item);
|
void del_hash_item(struct hash *hash, struct hash_item *item);
|
||||||
hash_value_T strhash(unsigned char *k, unsigned int length, hash_value_T initval);
|
|
||||||
|
|
||||||
#define foreach_hash_item(item, hash_table, iterator) \
|
#define foreach_hash_item(item, hash_table, iterator) \
|
||||||
for (iterator = 0; iterator < hash_size((hash_table).width); iterator++) \
|
for (iterator = 0; iterator < (1 << (hash_table).width); iterator++) \
|
||||||
foreach (item, (hash_table).hash[iterator])
|
foreach (item, (hash_table).hash[iterator])
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user