* Support for hash tables whose keys are strings.
*
*/
-
+
/* Base 31 hash function. Taken from Gnome's glib, modified to use
standard C types.
{
const char *p = key;
unsigned int h = *p;
-
+
if (h)
for (p += 1; *p != '\0'; p++)
h = (h << 5) - h + *p;
-
+
return h;
}
{
const char *p = key;
unsigned int h = c_tolower (*p);
-
+
if (h)
for (p += 1; *p != '\0'; p++)
h = (h << 5) - h + c_tolower (*p);
-
+
return h;
}