X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flibpspp%2Fhash-functions.c;h=c43017313a789666ca83bb8373351bc59972a3b0;hb=refs%2Fbuilds%2F20110716030503%2Fpspp;hp=af8b4c2c83a68f51423a2e934ed483f6fffa3f1f;hpb=871dc2a4ffe7bd1c1b0a7c5a451ce9e23d4b7969;p=pspp diff --git a/src/libpspp/hash-functions.c b/src/libpspp/hash-functions.c index af8b4c2c83..c43017313a 100644 --- a/src/libpspp/hash-functions.c +++ b/src/libpspp/hash-functions.c @@ -15,7 +15,9 @@ along with this program. If not, see . */ #include -#include + +#include "libpspp/hash-functions.h" + #include #include #include @@ -100,13 +102,12 @@ hash_string (const char *s, unsigned int basis) return hash_bytes (s, strlen (s), basis); } -/* Returns a hash value for null-terminated string S, with - lowercase and uppercase letters treated as equal, starting - from BASIS. */ +/* Returns a hash value for the N bytes at S, with lowercase and uppercase + letters treated as equal, starting from BASIS. */ unsigned int -hash_case_string (const char *s, unsigned int basis) +hash_case_bytes (const void *s_, size_t n, unsigned int basis) { - size_t n = strlen (s); + const char *s = s_; uint32_t a, b, c; uint32_t tmp[3]; int i; @@ -139,6 +140,15 @@ hash_case_string (const char *s, unsigned int basis) return c; } +/* Returns a hash value for null-terminated string S, with + lowercase and uppercase letters treated as equal, starting + from BASIS. */ +unsigned int +hash_case_string (const char *s, unsigned int basis) +{ + return hash_case_bytes (s, strlen (s), basis); +} + /* Returns a hash value for integer X, starting from BASIS. */ unsigned int hash_int (int x, unsigned int basis)