rem: unsigned value = 0;
add: size_t value = 0; unsigned char ch;
context: hash_string (const char *string, unsigned n_buckets){  unsigned value = 0;  while (*string)    value = ((value * 31 + (int) *(const unsigned char *) string++)	     % n_buckets);  return value;}