From 80f07f6c3bcc20a65ec64751ab55de0982e6afde Mon Sep 17 00:00:00 2001
From: rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Fri, 17 Aug 2001 01:54:43 +0000
Subject: [PATCH]         * hashtab.c (htab_hash_string): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44950 138bc75d-0d04-0410-961f-82ee72b054a4
---
 libiberty/ChangeLog |  4 ++++
 libiberty/hashtab.c | 16 ++++++++++++++++
 2 files changed, 20 insertions(+)

diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index a62db15285bb..84653bbe2fdb 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,7 @@
+2001-08-16  Richard Henderson  <rth@redhat.com>
+
+	* hashtab.c (htab_hash_string): New.
+
 2001-08-13  Andrew Cagney  <ac131313@redhat.com>
 
 	* floatformat.c (floatformat_ieee_double_littlebyte_bigword): Fix
diff --git a/libiberty/hashtab.c b/libiberty/hashtab.c
index 274ad9ec2076..28078027fef1 100644
--- a/libiberty/hashtab.c
+++ b/libiberty/hashtab.c
@@ -561,3 +561,19 @@ htab_collisions (htab)
 
   return (double) htab->collisions / (double) htab->searches;
 }
+
+/* Hash P as a null-terminated string.  */
+
+hashval_t
+htab_hash_string (p)
+     const PTR p;
+{
+  const unsigned char *str = (const unsigned char *) p;
+  hashval_t r = 0;
+  unsigned char c;
+
+  while ((c = *str++) != 0)
+    r = r * 67 + c - 113;
+
+  return r;
+}
-- 
GitLab