* Makefile.am (libbfd.h): Add "Extracted from.." comment.
[deliverable/binutils-gdb.git] / bfd / hash.c
index 4c6e9877ce49b01e2af2b5008b77ea7f45cc5644..a498cce46c9c89a6bb09a4e712b887fb9e7703d4 100644 (file)
@@ -1,5 +1,6 @@
 /* hash.c -- hash table routines for BFD
 /* hash.c -- hash table routines for BFD
-   Copyright (C) 1993, 94, 95, 1997 Free Software Foundation, Inc.
+   Copyright 1993, 1994, 1995, 1997, 1999, 2001
+   Free Software Foundation, Inc.
    Written by Steve Chamberlain <sac@cygnus.com>
 
 This file is part of BFD, the Binary File Descriptor library.
    Written by Steve Chamberlain <sac@cygnus.com>
 
 This file is part of BFD, the Binary File Descriptor library.
@@ -73,7 +74,7 @@ SUBSECTION
        The function <<bfd_hash_table_init>> take as an argument a
        function to use to create new entries.  For a basic hash
        table, use the function <<bfd_hash_newfunc>>.  @xref{Deriving
        The function <<bfd_hash_table_init>> take as an argument a
        function to use to create new entries.  For a basic hash
        table, use the function <<bfd_hash_newfunc>>.  @xref{Deriving
-       a New Hash Table Type} for why you would want to use a
+       a New Hash Table Type}, for why you would want to use a
        different value for this argument.
 
 @findex bfd_hash_allocate
        different value for this argument.
 
 @findex bfd_hash_allocate
@@ -268,7 +269,7 @@ SUBSUBSECTION
        Write other derived routines
 
        You will want to write other routines for your new hash table,
        Write other derived routines
 
        You will want to write other routines for your new hash table,
-       as well.  
+       as well.
 
        You will want an initialization routine which calls the
        initialization routine of the hash table you are deriving from
 
        You will want an initialization routine which calls the
        initialization routine of the hash table you are deriving from
@@ -366,7 +367,7 @@ bfd_hash_lookup (table, string, create, copy)
   struct bfd_hash_entry *hashp;
   unsigned int len;
   unsigned int index;
   struct bfd_hash_entry *hashp;
   unsigned int len;
   unsigned int index;
-  
+
   hash = 0;
   len = 0;
   s = (const unsigned char *) string;
   hash = 0;
   len = 0;
   s = (const unsigned char *) string;
@@ -374,8 +375,8 @@ bfd_hash_lookup (table, string, create, copy)
     {
       hash += c + (c << 17);
       hash ^= hash >> 2;
     {
       hash += c + (c << 17);
       hash ^= hash >> 2;
-      ++len;
     }
     }
+  len = (s - (const unsigned char *) string) - 1;
   hash += len + (len << 17);
   hash ^= hash >> 2;
 
   hash += len + (len << 17);
   hash ^= hash >> 2;
 
@@ -450,7 +451,7 @@ struct bfd_hash_entry *
 bfd_hash_newfunc (entry, table, string)
      struct bfd_hash_entry *entry;
      struct bfd_hash_table *table;
 bfd_hash_newfunc (entry, table, string)
      struct bfd_hash_entry *entry;
      struct bfd_hash_table *table;
-     const char *string;
+     const char *string ATTRIBUTE_UNUSED;
 {
   if (entry == (struct bfd_hash_entry *) NULL)
     entry = ((struct bfd_hash_entry *)
 {
   if (entry == (struct bfd_hash_entry *) NULL)
     entry = ((struct bfd_hash_entry *)
@@ -581,9 +582,9 @@ struct bfd_strtab_hash *
 _bfd_stringtab_init ()
 {
   struct bfd_strtab_hash *table;
 _bfd_stringtab_init ()
 {
   struct bfd_strtab_hash *table;
+  bfd_size_type amt = sizeof (struct bfd_strtab_hash);
 
 
-  table = ((struct bfd_strtab_hash *)
-          bfd_malloc (sizeof (struct bfd_strtab_hash)));
+  table = (struct bfd_strtab_hash *) bfd_malloc (amt);
   if (table == NULL)
     return NULL;
 
   if (table == NULL)
     return NULL;
 
@@ -710,8 +711,8 @@ _bfd_stringtab_emit (abfd, tab)
 
   for (entry = tab->first; entry != NULL; entry = entry->next)
     {
 
   for (entry = tab->first; entry != NULL; entry = entry->next)
     {
-      register const char *str;
-      register size_t len;
+      const char *str;
+      size_t len;
 
       str = entry->root.string;
       len = strlen (str) + 1;
 
       str = entry->root.string;
       len = strlen (str) + 1;
@@ -721,12 +722,12 @@ _bfd_stringtab_emit (abfd, tab)
          bfd_byte buf[2];
 
          /* The output length includes the null byte.  */
          bfd_byte buf[2];
 
          /* The output length includes the null byte.  */
-         bfd_put_16 (abfd, len, buf);
-         if (bfd_write ((PTR) buf, 1, 2, abfd) != 2)
+         bfd_put_16 (abfd, (bfd_vma) len, buf);
+         if (bfd_bwrite ((PTR) buf, (bfd_size_type) 2, abfd) != 2)
            return false;
        }
 
            return false;
        }
 
-      if (bfd_write ((PTR) str, 1, len, abfd) != len)
+      if (bfd_bwrite ((PTR) str, (bfd_size_type) len, abfd) != len)
        return false;
     }
 
        return false;
     }
 
This page took 0.033164 seconds and 4 git commands to generate.