X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flibpspp%2Fhash-functions.c;h=c43017313a789666ca83bb8373351bc59972a3b0;hb=9bbbfbc94aead4518e17eb6304451f6ad2ca2db2;hp=96ff282c85d7fc9684672cd840a5ea1cca33afe8;hpb=530906aaa19f6c209ca008c8187f7f750a0b1283;p=pspp-builds.git diff --git a/src/libpspp/hash-functions.c b/src/libpspp/hash-functions.c index 96ff282c..c4301731 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)