/* Returns: a hash value corresponding to the key.  */
guint g_str_hash(gconstpointer v)
/* Returns: a hash value corresponding to the key.  */
guint g_str_hash(gconstpointer v)
{
  const signed char *p = v;
  guint32 h = *p;
  if (h)
    for (p += 1; *p != '\0'; p++)
      h = (h << 5) - h + *p;
  return h;
}