X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsetup.c;h=e34ed89adcf198497e92c2f8ca948982f1f793c0;hb=69e00ce68d7e6acf3325adcee8b4a8828fb421d5;hp=b419875a580e8fd1f87eab476ec4b496f232db7c;hpb=375d84a0da3b1254915bd034fe327f094e87a4a1;p=rocksndiamonds.git diff --git a/src/libgame/setup.c b/src/libgame/setup.c index b419875a..e34ed89a 100644 --- a/src/libgame/setup.c +++ b/src/libgame/setup.c @@ -725,7 +725,7 @@ char *getScoreTapeBasename(char *name) sprintf(timestamp, "%s", getCurrentTimestamp()); sprintf(basename_raw, "%s-%s", timestamp, name); - sprintf(basename, "%s-%08x", timestamp, get_hash_from_key(basename_raw)); + sprintf(basename, "%s-%08x", timestamp, get_hash_from_string(basename_raw)); return basename; } @@ -2281,7 +2281,7 @@ DEFINE_HASHTABLE_REMOVE(remove_hash_entry, char, char); #define remove_hash_entry hashtable_remove #endif -unsigned int get_hash_from_key(void *key) +unsigned int get_hash_from_string(void *key) { /* djb2 @@ -2311,15 +2311,27 @@ unsigned int get_hash_from_key(void *key) return hash; } -int hash_keys_are_equal(void *key1, void *key2) +unsigned int get_hash_from_integer(void *key) +{ + unsigned int hash = PTR_TO_UINT(key); + + return hash; +} + +int hash_key_strings_are_equal(void *key1, void *key2) { return (strEqual((char *)key1, (char *)key2)); } +int hash_key_integers_are_equal(void *key1, void *key2) +{ + return (key1 == key2); +} + SetupFileHash *newSetupFileHash(void) { SetupFileHash *new_hash = - create_hashtable(16, 0.75, get_hash_from_key, hash_keys_are_equal); + create_hashtable(16, 0.75, get_hash_from_string, hash_key_strings_are_equal); if (new_hash == NULL) Fail("create_hashtable() failed -- out of memory");