summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2013-12-22 19:59:12 +0100
committerLennart Poettering <lennart@poettering.net>2013-12-22 21:12:25 +0100
commit9bf3b53533cdc9b95c921b71da755401f223f765 (patch)
tree812e99b25cc09f5d5d3b130d25a02754283ff7a7 /src/core
parent14f862a508ee64466fa8b3f036797d472f4d03ed (diff)
shared: switch our hash table implementation over to SipHash
SipHash appears to be the new gold standard for hashing smaller strings for hashtables these days, so let's make use of it.
Diffstat (limited to 'src/core')
-rw-r--r--src/core/dbus-client-track.c4
-rw-r--r--src/core/manager.c2
2 files changed, 3 insertions, 3 deletions
diff --git a/src/core/dbus-client-track.c b/src/core/dbus-client-track.c
index d98f21d46f..07dfea49e6 100644
--- a/src/core/dbus-client-track.c
+++ b/src/core/dbus-client-track.c
@@ -22,10 +22,10 @@
#include "bus-util.h"
#include "dbus-client-track.h"
-static unsigned tracked_client_hash(const void *a) {
+static unsigned long tracked_client_hash(const void *a, const uint8_t hash_key[HASH_KEY_SIZE]) {
const BusTrackedClient *x = a;
- return string_hash_func(x->name) ^ PTR_TO_UINT(x->bus);
+ return string_hash_func(x->name, hash_key) ^ trivial_hash_func(x->bus, hash_key);
}
static int tracked_client_compare(const void *a, const void *b) {
diff --git a/src/core/manager.c b/src/core/manager.c
index b9aa6dcfd5..d8d5667dc2 100644
--- a/src/core/manager.c
+++ b/src/core/manager.c
@@ -482,7 +482,7 @@ static int manager_setup_notify(Manager *m) {
}
if (getpid() != 1 || detect_container(NULL) > 0)
- snprintf(sa.un.sun_path, sizeof(sa.un.sun_path), NOTIFY_SOCKET "/%llu", random_ull());
+ snprintf(sa.un.sun_path, sizeof(sa.un.sun_path), NOTIFY_SOCKET "/%" PRIx64, random_u64());
else
strncpy(sa.un.sun_path, NOTIFY_SOCKET, sizeof(sa.un.sun_path));
sa.un.sun_path[0] = 0;