From a96e33a573ca2e1f8b023beee3cd92176abc3493 Mon Sep 17 00:00:00 2001 From: Moe Jette <jette1@llnl.gov> Date: Thu, 14 Oct 2004 21:44:51 +0000 Subject: [PATCH] Modify node hash index computation. --- src/slurmctld/node_mgr.c | 56 ++++------------------------------------ 1 file changed, 5 insertions(+), 51 deletions(-) diff --git a/src/slurmctld/node_mgr.c b/src/slurmctld/node_mgr.c index 2c1e88f3792..f9fb573bddb 100644 --- a/src/slurmctld/node_mgr.c +++ b/src/slurmctld/node_mgr.c @@ -478,61 +478,15 @@ find_node_record (char *name) */ static int _hash_index (char *name) { - int i, inx = 0, tmp; + int i = 0; if (node_record_count == 0) return 0; /* degenerate case */ - if ( slurmctld_conf.hash_base == 10 ) { - for (i = 0;; i++) { - tmp = (int) name[i]; - if (tmp == 0) - break; /* end if string */ - if ((tmp >= (int) '0') && (tmp <= (int) '9')) - inx = (inx * slurmctld_conf.hash_base) + - (tmp - (int) '0'); - } - } - - else if ( slurmctld_conf.hash_base == 8 ) { - for (i = 0;; i++) { - tmp = (int) name[i]; - if (tmp == 0) - break; /* end if string */ - if ((tmp >= (int) '0') && (tmp <= (int) '7')) - inx = (inx * slurmctld_conf.hash_base) + - (tmp - (int) '0'); - } - } - - else { - for (i = 0; i < 5; i++) { - tmp = (int) name[i]; - if (tmp == 0) - break; /* end if string */ - if ((tmp >= (int) '0') && (tmp <= (int) '9')) { - /* value 0-9 */ - tmp -= (int) '0'; - } - else if ((tmp >= (int) 'a') && (tmp <= (int) 'z')) { - /* value 10-35 */ - tmp -= (int) 'a'; - tmp += 10; - } - else if ((tmp >= (int) 'a') && (tmp <= (int) 'z')) { - /* value 10-35 */ - tmp -= (int) 'a'; - tmp += 10; - } - else { - tmp = 36; - } - inx = (inx * 37) + tmp; - } - } - - inx = inx % node_record_count; - return inx; + while (*name) + i += (int) *name++; + i %= node_record_count; + return i; } -- GitLab