From c3d98a3df6432f3d9d143dec6d328feec0873b4a Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Wed, 15 Nov 2017 15:14:19 +0100 Subject: [PATCH] shared: optimize nm_hash_str() for NULL to not use siphash24() --- libnm-core/tests/test-general.c | 4 ++++ shared/nm-utils/nm-hash-utils.c | 9 ++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/libnm-core/tests/test-general.c b/libnm-core/tests/test-general.c index 59da6b0c34..0529d07d1f 100644 --- a/libnm-core/tests/test-general.c +++ b/libnm-core/tests/test-general.c @@ -171,6 +171,10 @@ test_nm_hash (void) g_assert (nm_hash_static (0)); g_assert (nm_hash_static (777)); + g_assert (nm_hash_str (NULL)); + g_assert (nm_hash_str ("")); + g_assert (nm_hash_str ("a")); + _test_hash_str (""); _test_hash_str ("a"); _test_hash_str ("aa"); diff --git a/shared/nm-utils/nm-hash-utils.c b/shared/nm-utils/nm-hash-utils.c index 4cfb62bd50..0d0ba373a1 100644 --- a/shared/nm-utils/nm-hash-utils.c +++ b/shared/nm-utils/nm-hash-utils.c @@ -127,11 +127,10 @@ nm_hash_str (const char *str) { NMHashState h; - if (str) { - nm_hash_init (&h, 1867854211u); - nm_hash_update_str (&h, str); - } else - nm_hash_init (&h, 842995561u); + if (!str) + return nm_hash_static (1867854211u); + nm_hash_init (&h, 1867854211u); + nm_hash_update_str (&h, str); return nm_hash_complete (&h); }