Newer
Older
* SPDX-FileCopyrightText: 2018-2022 Bruce Cowan <bruce@bcowan.me.uk>
static void
add_data (HashTable *table)
{
char key[20];
char value[20];
printf ("Input the key ");
scanf ("%s", key);
printf ("Input the value ");
scanf ("%s", value);
hash_table_insert (table, strdup (key), strdup (value));
char *key_lookup = strndup (key, strlen (key));
printf ("The last one inserted was: {'%s': ", key_lookup);
const char *val = hash_table_lookup (table, key);
printf ("'%s'}\n", val);
free (key_lookup);
}
static void
print_all (void *key,
void *value,
void *user_data)
{
printf ("%s:%s\n", (const char *) key, (const char *) value);
}
size_t length = strlen ((const char *) data);
XXH64_hash_t hash = XXH3_64bits (data, length);
return (unsigned) (hash ^ (hash >> 32));
static bool
str_equal (const void *a,
const void *b)
{
return !strcmp (a, b);
table = hash_table_new (str_hash, str_equal, free, free);
while (1)
{
add_data (table);
hash_table_foreach (table, print_all, NULL);
}