diff --git a/include/common/hash.h b/include/common/hash.h index 379bf898c..7039ba507 100644 --- a/include/common/hash.h +++ b/include/common/hash.h @@ -22,8 +22,8 @@ #ifndef _COMMON_HASH_H_ #define _COMMON_HASH_H_ -unsigned long hash_djb2(const char *key, int len); -unsigned long hash_wt6(const char *key, int len); -unsigned long hash_sdbm(const char *key, int len); +unsigned int hash_djb2(const char *key, int len); +unsigned int hash_wt6(const char *key, int len); +unsigned int hash_sdbm(const char *key, int len); #endif /* _COMMON_HASH_H_ */ diff --git a/src/backend.c b/src/backend.c index 5ddb88c4d..a96b76732 100644 --- a/src/backend.c +++ b/src/backend.c @@ -63,9 +63,9 @@ int be_lastsession(const struct proxy *be) } /* helper function to invoke the correct hash method */ -static unsigned long gen_hash(const struct proxy* px, const char* key, unsigned long len) +static unsigned int gen_hash(const struct proxy* px, const char* key, unsigned long len) { - unsigned long hash; + unsigned int hash; switch (px->lbprm.algo & BE_LB_HASH_FUNC) { case BE_LB_HFCN_DJB2: @@ -183,7 +183,7 @@ struct server *get_server_sh(struct proxy *px, const char *addr, int len) */ struct server *get_server_uh(struct proxy *px, char *uri, int uri_len) { - unsigned long hash = 0; + unsigned int hash = 0; int c; int slashes = 0; const char *start, *end; @@ -232,7 +232,7 @@ struct server *get_server_uh(struct proxy *px, char *uri, int uri_len) */ struct server *get_server_ph(struct proxy *px, const char *uri, int uri_len) { - unsigned long hash = 0; + unsigned int hash = 0; const char *start, *end; const char *p; const char *params; @@ -294,7 +294,7 @@ struct server *get_server_ph(struct proxy *px, const char *uri, int uri_len) */ struct server *get_server_ph_post(struct session *s) { - unsigned long hash = 0; + unsigned int hash = 0; struct http_txn *txn = &s->txn; struct channel *req = s->req; struct http_msg *msg = &txn->req; @@ -372,7 +372,7 @@ struct server *get_server_ph_post(struct session *s) */ struct server *get_server_hh(struct session *s) { - unsigned long hash = 0; + unsigned int hash = 0; struct http_txn *txn = &s->txn; struct proxy *px = s->be; unsigned int plen = px->hh_len; @@ -444,7 +444,7 @@ struct server *get_server_hh(struct session *s) /* RDP Cookie HASH. */ struct server *get_server_rch(struct session *s) { - unsigned long hash = 0; + unsigned int hash = 0; struct proxy *px = s->be; unsigned long len; int ret; diff --git a/src/hash.c b/src/hash.c index 034685efd..aa236cbb0 100644 --- a/src/hash.c +++ b/src/hash.c @@ -17,7 +17,7 @@ #include -unsigned long hash_wt6(const char *key, int len) +unsigned int hash_wt6(const char *key, int len) { unsigned h0 = 0xa53c965aUL; unsigned h1 = 0x5ca6953aUL; @@ -44,9 +44,9 @@ unsigned long hash_wt6(const char *key, int len) return h0 ^ h1; } -unsigned long hash_djb2(const char *key, int len) +unsigned int hash_djb2(const char *key, int len) { - unsigned long hash = 5381; + unsigned int hash = 5381; /* the hash unrolled eight times */ for (; len >= 8; len -= 8) { @@ -72,9 +72,9 @@ unsigned long hash_djb2(const char *key, int len) return hash; } -unsigned long hash_sdbm(const char *key, int len) +unsigned int hash_sdbm(const char *key, int len) { - unsigned long hash = 0; + unsigned int hash = 0; int c; while (len--) {