summaryrefslogtreecommitdiff
path: root/gdb/buildsym.c
diff options
context:
space:
mode:
authorDaniel Berlin <dberlin@dberlin.org>2000-06-05 20:49:53 +0000
committerDaniel Berlin <dberlin@dberlin.org>2000-06-05 20:49:53 +0000
commitec6b2172bfaadd906f4733317a1836fa8146594d (patch)
tree8a276d02b41ce59dc3a291b5ab941c5fbdded86c /gdb/buildsym.c
parentca5dbca12998350b336d0d82496e52061ce5f0f1 (diff)
downloadgdb-ec6b2172bfaadd906f4733317a1836fa8146594d.tar.gz
Diffstat (limited to 'gdb/buildsym.c')
-rw-r--r--gdb/buildsym.c26
1 files changed, 3 insertions, 23 deletions
diff --git a/gdb/buildsym.c b/gdb/buildsym.c
index dff92936cfd..70105be0157 100644
--- a/gdb/buildsym.c
+++ b/gdb/buildsym.c
@@ -36,7 +36,7 @@
#include "gdb_string.h"
#include "expression.h" /* For "enum exp_opcode" used by... */
#include "language.h" /* For "longest_local_hex_string_custom" */
-
+#include "bcache.h"
/* Ask buildsym.h to define the vars it normally declares `extern'. */
#define EXTERN
/**/
@@ -1055,33 +1055,13 @@ push_context (int desc, CORE_ADDR valu)
return new;
}
+
/* Compute a small integer hash code for the given name. */
int
hashname (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);
+ return (hash(name,strlen(name)) % HASHSIZE);
}