From 48f075eb2a8dc66ec671a1486073f8ba4d47f9ba Mon Sep 17 00:00:00 2001 From: Stan Shebs Date: Mon, 9 Aug 1993 23:49:18 +0000 Subject: Moved the function hashname from stabsread.c to buildsym.c, since it's a general-purpose function. --- gdb/buildsym.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'gdb/buildsym.c') diff --git a/gdb/buildsym.c b/gdb/buildsym.c index ba593ca..a36ef79 100644 --- a/gdb/buildsym.c +++ b/gdb/buildsym.c @@ -855,6 +855,37 @@ push_context (desc, valu) } +/* Compute a small integer hash code for the given name. */ + +int +hashname (name) + char *name; +{ + register char *p = name; + register int total = p[0]; + register int c; + + c = p[1]; + total += c << 2; + if (c) + { + c = p[2]; + total += c << 4; + if (c) + { + total += p[3] << 6; + } + } + + /* Ensure result is positive. */ + if (total < 0) + { + total += (1000 << 6); + } + return (total % HASHSIZE); +} + + /* Initialize anything that needs initializing when starting to read a fresh piece of a symbol file, e.g. reading in the stuff corresponding to a psymtab. */ -- cgit v1.1