--- cdb_hash.c.orig  1998-06-15
+++ cdb_hash.c       2007-03-21
--- .././qmail-1.03/cdb_hash.c	Mon Jun 15 12:53:16 1998
+++ ../qmail-1.03.2418/cdb_hash.c	Sun Jan 15 16:10:10 2006
@@ -1,16 +1,21 @@
+/* Public domain. */
+
 #include "cdb.h"
 
-uint32 cdb_hash(buf,len)
-unsigned char *buf;
-unsigned int len;
+uint32 cdb_hashadd(uint32 h,unsigned char c)
+{
+  h += (h << 5);
+  return h ^ c;
+}
+
+uint32 cdb_hash(char *buf,unsigned int len)
 {
   uint32 h;
 
-  h = 5381;
+  h = CDB_HASHSTART;
   while (len) {
+    h = cdb_hashadd(h,*buf++);
     --len;
-    h += (h << 5);
-    h ^= (uint32) *buf++;
   }
   return h;
 }


syntax highlighted by Code2HTML, v. 0.9.1