Bruce:
> OK, I have a new idea. See in utils/hash/hashfn.c:tag_hash, there is
> the line:
>
> for (; keysize > (sizeof(int) - 1); keysize -= sizeof(int),key++)
> h = h * PRIME1 ^ (*key);
>
> Now, since h is a long, shouldn't the for loop be comparing
> sizeof(long)? However, key is an int*.
How is this a problem? *key is getting the value of the current pointer
of key. This means, if key contains a string: "Ooga" and key++, then the
value of *key would be "o" in decimal. This is a standard hashing
routine, and the problem does not lie here as far as I can see.
-- Ken
------
=========================================================================
Houston InterWeb Design, Inc. || Office: +1 (713) 627-9494
Lead Programmer/Designer || Fax: +1 (713) 627-2744
C++, Windows, and Web Programming || Pager: +1 (713) 727-2529
=========================================================================
Home page URL: http://www.houston-interweb.com/