X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/e6dbd781772925dfc07b2facfa0a1350e756ad8f..refs/heads/nov/revmap:/lunaix-os/includes/lunaix/ds/hstr.h diff --git a/lunaix-os/includes/lunaix/ds/hstr.h b/lunaix-os/includes/lunaix/ds/hstr.h index 4b6947e..77096aa 100644 --- a/lunaix-os/includes/lunaix/ds/hstr.h +++ b/lunaix-os/includes/lunaix/ds/hstr.h @@ -1,15 +1,15 @@ #ifndef __LUNAIX_HSTR_H #define __LUNAIX_HSTR_H -#include +#include #define HSTR_FULL_HASH 32 struct hstr { - uint32_t hash; - uint32_t len; - char* value; + unsigned int hash; + unsigned int len; + const char* value; }; #define HSTR(str, length) \ @@ -26,8 +26,12 @@ struct hstr #define HSTR_EQ(str1, str2) ((str1)->hash == (str2)->hash) -inline void -hstr_rehash(struct hstr* hash_str, uint32_t truncate_to) +#define HSTR_VAL(hstr) ((hstr).value) +#define HSTR_LEN(hstr) ((hstr).len) +#define HSTR_HASH(hstr) ((hstr).hash) + +static inline void +hstr_rehash(struct hstr* hash_str, u32_t truncate_to) { hash_str->hash = strhash_32(hash_str->value, truncate_to); }