Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Add uthash fixes (obtained from libucl)
Baptiste Daroussin committed 12 years ago
commit 19469e88019520637768b2ddf1e38896772bc02c
parent 6b4c22a
1 file changed +7 -6
modified external/uthash/uthash.h
@@ -174,8 +174,8 @@ do {
do {                                                                             \
 unsigned _ha_bkt;                                                               \
 (add)->hh.next = NULL;                                                          \
-
 (add)->hh.key = (char*)(keyptr);                                                \
-
 (add)->hh.keylen = (unsigned)(keylen_in);                                       \
+
 (add)->hh.key = (const char*)keyptr;                                                  \
+
 (add)->hh.keylen = (unsigned)keylen_in;                                                   \
 if (!(head)) {                                                                  \
    head = (add);                                                                \
    (head)->hh.prev = NULL;                                                      \
@@ -416,10 +416,10 @@ do {
#define HASH_JEN(key,keylen,num_bkts,hashv,bkt)                                  \
do {                                                                             \
  unsigned _hj_i,_hj_j,_hj_k;                                                    \
-
  unsigned char *_hj_key=(unsigned char*)(key);                                  \
+
  unsigned const char *_hj_key=(unsigned const char*)(key);                                  \
  hashv = 0xfeedbeef;                                                            \
  _hj_i = _hj_j = 0x9e3779b9;                                                    \
-
  _hj_k = (unsigned)(keylen);                                                      \
+
  _hj_k = (unsigned)keylen;                                                      \
  while (_hj_k >= 12) {                                                          \
    _hj_i +=    (_hj_key[0] + ( (unsigned)_hj_key[1] << 8 )                      \
        + ( (unsigned)_hj_key[2] << 16 )                                         \
@@ -467,7 +467,7 @@ do {
#endif
#define HASH_SFH(key,keylen,num_bkts,hashv,bkt)                                  \
do {                                                                             \
-
  unsigned char *_sfh_key=(unsigned char*)(key);                                 \
+
  unsigned const char *_sfh_key=(unsigned const char*)(key);                                 \
  uint32_t _sfh_tmp, _sfh_len = keylen;                                          \
                                                                                 \
  int _sfh_rem = _sfh_len & 3;                                                   \
@@ -582,6 +582,7 @@ do { \
    _mur_k1 = MUR_ROTL32(_mur_k1,15);                                  \
    _mur_k1 *= _mur_c2;                                                \
    _mur_h1 ^= _mur_k1;                                                \
+
    case 0: break;	                                                   \
  }                                                                    \
  _mur_h1 ^= (keylen);                                                 \
  MUR_FMIX(_mur_h1);                                                   \
@@ -940,7 +941,7 @@ typedef struct UT_hash_handle {
   void *next;                       /* next element in app order      */
   struct UT_hash_handle *hh_prev;   /* previous hh in bucket order    */
   struct UT_hash_handle *hh_next;   /* next hh in bucket order        */
-
   void *key;                        /* ptr to enclosing struct's key  */
+
   const void *key;                  /* ptr to enclosing struct's key  */
   unsigned keylen;                  /* enclosing struct's key len     */
   unsigned hashv;                   /* result of hash-fcn(key)        */
} UT_hash_handle;