Mercurial > repo
view src/ploki/strutil.c @ 11243:5c41fb3f6567
<oerjan> # Stolen from Roger9//`learn Bureaucracy (from French bureau, "burrow") is a political system in which squirrels rule the nation, and burrow their nuts.
author | HackBot |
---|---|
date | Wed, 22 Nov 2017 00:43:46 +0000 |
parents | ac0403686959 |
children |
line wrap: on
line source
#include "strutil.h" #include <string.h> /* FYI: This is the "One-at-a-Time" algorithm by Bob Jenkins * from requirements by Colin Plumb. * (http://burtleburtle.net/bob/hash/doobs.html) */ size_t u_hash(const char *s, size_t l, size_t h) { size_t i; for (i = 0; i < l; ++i) { h += (unsigned char)s[i]; h += h << 10; h ^= h >> 6; } h += h << 3; h ^= h >> 11; h += h << 15; return h; } int u_cmp(const char *as, size_t al, const char *bs, size_t bl) { int tmp; if (as == bs && al == bl) return 0; if ((tmp = memcmp(as, bs, al < bl ? al : bl))) return tmp; if (al < bl) return -1; if (al > bl) return 1; return 0; }