X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flibpspp%2Fhash-functions.c;h=c43017313a789666ca83bb8373351bc59972a3b0;hb=32897a3d95b7772d44ddd14e2ac8bc154cfe4542;hp=96ff282c85d7fc9684672cd840a5ea1cca33afe8;hpb=81579d9e9f994fb2908f50af41c3eb033d216e58;p=pspp diff --git a/src/libpspp/hash-functions.c b/src/libpspp/hash-functions.c index 96ff282c85..c43017313a 100644 --- a/src/libpspp/hash-functions.c +++ b/src/libpspp/hash-functions.c @@ -102,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; @@ -141,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)