* phash.c, phash.h (phash_checksum): Change to take signed char.
* perfect.h (key): Change name_k to char.
* perfect.c (initinl): Cast name_k.
svn path=/trunk/yasm/; revision=1418
*/
void
phash_checksum(
- register const unsigned char *k,
+ register const char *sk,
register unsigned long len,
register unsigned long *state)
{
register unsigned long a,b,c,d,e,f,g,h,length;
+ register const unsigned char *k = (const unsigned char *)sk;
/* Use the length and level; add in the golden ratio. */
length = len;
unsigned long phash_lookup(const char *k, unsigned long length,
unsigned long level);
-void phash_checksum(const unsigned char *k, unsigned long length,
- unsigned long *state);
+void phash_checksum(const char *k, unsigned long length, unsigned long *state);
ub4 i;
for (i=0; i<mykey->len_k; ++i)
{
- hash = (mykey->name_k[i] ^ hash) + ((hash<<(UB4BITS-6))+(hash>>6));
+ hash = ((ub1)mykey->name_k[i] ^ hash) + ((hash<<(UB4BITS-6))+(hash>>6));
}
mykey->hash_k = hash;
mykey->a_k = (alen > 1) ? (hash & amask) : 0;
/* representation of a key */
struct key
{
- ub1 *name_k; /* the actual key */
+ char *name_k; /* the actual key */
ub4 len_k; /* the length of the actual key */
ub4 hash_k; /* the initial hash value for this key */
struct key *next_k; /* next key */