static inline unsigned int hash_func_string(const char* key)
{
	unsigned int hash = 0;
	int c;
	while ((c = *key++) != 0)
		hash = c + (hash << 6) + (hash << 16) - hash;
	return hash;
}


static inline uint32_t hash_func_string(const char* key)
{
	uint32_t hash = 0;
	int c;
	while ((c = *key++) != 0)
		hash = c + (hash << 6) + (hash << 16) - hash;
	return hash;
}


Change unsigned int to uint32_t.
Change unsigned int to uint32_t.

The fixed width data type is necessary to calculate the hash function
correctly.
