along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
-#include <libpspp/hash-functions.h>
+
+#include "libpspp/hash-functions.h"
+
#include <assert.h>
#include <ctype.h>
#include <math.h>
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;
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)