>
> 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.
You are right.
--
Bruce Momjian
maillist@candle.pha.pa.us