FreeBSD/libexec/rtld-elf/rtld.c
/*
 * The GNU hash function is the Daniel J. Bernstein hash clipped to 32 bits
 * unsigned in case it's implemented with a wider type.
 */
The GNU hash function is the Daniel J. Bernstein hash clipped to 32 bits
unsigned in case it's implemented with a wider type.
The GNU hash function is the Daniel J . Bernstein hash clipped to 32 bits unsigned in case it ' s implemented with a wider type .
static uint32_t
gnu_hash(const char *s)
{
	uint32_t h;
	unsigned char c;
	h = 5381;
	for (c = *s; c != '\0'; c = *++s)
		h = h * 33 + c;
	return (h & 0xffffffff);
}
static uint32_t gnu_hash ( const char * s ) { uint32_t h ; unsigned char c ; h = 5381 ; for ( c = * s ; c != ' \0 ' ; c = * ++ s ) h = h * 33 + c ; return ( h & 0xffffffff ) ; }
The GNU hash function is the Daniel J. Bernstein hash clipped to 32 bits
 unsigned in case it's implemented with a wider type.
The GNU hash function is the Daniel J . Bernstein hash clipped to 32 bits unsigned in case it ' s implemented with a wider type .