cdb_hash.c
上传用户:tany51
上传日期:2013-06-12
资源大小:1397k
文件大小:0k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /* cdb hashing routine
  2.  *
  3.  * This file is a part of tinycdb package by Michael Tokarev, mjt@corpit.ru.
  4.  * Public domain.
  5.  */
  6. #include "common/setup_before.h"
  7. #include "cdb.h"
  8. #include "common/setup_after.h"
  9. unsigned
  10. cdb_hash(const void *buf, unsigned len)
  11. {
  12.   register const unsigned char *p = (const unsigned char *)buf;
  13.   register const unsigned char *end = p + len;
  14.   register unsigned hash = 5381; /* start value */
  15.   while (p < end)
  16.     hash = (hash + (hash << 5)) ^ *p++;
  17.   return hash;
  18. }