* README-vms: Fix comment typos.
[deliverable/binutils-gdb.git] / gas / hash.c
index 0f129fb3fa1938f4038d80ff960a1fbc5fd192df..2faeba9c091db72335d5fd6dceed1f1302f186b0 100644 (file)
@@ -1,5 +1,6 @@
 /* hash.c -- gas hash table code
-   Copyright (C) 1987, 90, 91, 92, 93, 94, 95, 96, 98, 1999
+   Copyright 1987, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999,
+   2000, 2001, 2002
    Free Software Foundation, Inc.
 
    This file is part of GAS, the GNU Assembler.
 /* This version of the hash table code is a wholescale replacement of
    the old hash table code, which was fairly bad.  This is based on
    the hash table code in BFD, but optimized slightly for the
-   asssembler.  The assembler does not need to derive structures that
+   assembler.  The assembler does not need to derive structures that
    are stored in the hash table.  Instead, it always stores a pointer.
    The assembler uses the hash table mostly to store symbols, and we
    don't need to confuse the symbol structure with a hash table
    structure.  */
 
 #include "as.h"
+#include "safe-ctype.h"
 #include "obstack.h"
 
 /* The default number of entries to use when creating a hash table.  */
@@ -37,8 +39,7 @@
 
 /* An entry in a hash table.  */
 
-struct hash_entry
-{
+struct hash_entry {
   /* Next entry for this hash code.  */
   struct hash_entry *next;
   /* String being hashed.  */
@@ -52,8 +53,7 @@ struct hash_entry
 
 /* A hash table.  */
 
-struct hash_control
-{
+struct hash_control {
   /* The hash array.  */
   struct hash_entry **table;
   /* The number of slots in the hash table.  */
@@ -99,7 +99,7 @@ hash_new ()
   ret->deletions = 0;
 #endif
 
-  return ret;  
+  return ret;
 }
 
 /* Delete a hash table, freeing all allocated memory.  */
@@ -222,7 +222,7 @@ hash_insert (table, key, value)
   ++table->insertions;
 #endif
 
-  p = obstack_alloc (&table->memory, sizeof *p);
+  p = (struct hash_entry *) obstack_alloc (&table->memory, sizeof (*p));
   p->string = key;
   p->hash = hash;
   p->data = value;
@@ -262,7 +262,7 @@ hash_jam (table, key, value)
       ++table->insertions;
 #endif
 
-      p = obstack_alloc (&table->memory, sizeof *p);
+      p = (struct hash_entry *) obstack_alloc (&table->memory, sizeof (*p));
       p->string = key;
       p->hash = hash;
       p->data = value;
@@ -415,14 +415,23 @@ hash_print_statistics (f, name, table)
 
 /* This test program is left over from the old hash table code.  */
 
-#define TABLES (6)             /* number of hash tables to maintain */
-                               /* (at once) in any testing */
-#define STATBUFSIZE (12)       /* we can have 12 statistics */
+/* Number of hash tables to maintain (at once) in any testing.  */
+#define TABLES (6)
+
+/* We can have 12 statistics.  */
+#define STATBUFSIZE (12)
 
-int statbuf[STATBUFSIZE];      /* display statistics here */
-char answer[100];              /* human farts here */
-char *hashtable[TABLES];       /* we test many hash tables at once */
-char *h;                       /* points to curent hash_control */
+/* Display statistics here.  */
+int statbuf[STATBUFSIZE];
+
+/* Human farts here.  */
+char answer[100];
+
+/* We test many hash tables at once.  */
+char *hashtable[TABLES];
+
+/* Points to current hash_control.  */
+char *h;
 char **pp;
 char *p;
 char *name;
@@ -430,8 +439,9 @@ char *value;
 int size;
 int used;
 char command;
-int number;                    /* number 0:TABLES-1 of current hashed */
-                               /* symbol table */
+
+/* Number 0:TABLES-1 of current hashed symbol table.  */
+int number;
 
 int
 main ()
@@ -449,8 +459,7 @@ main ()
       printf ("hash_test command: ");
       gets (answer);
       command = answer[0];
-      if (isupper (command))
-       command = tolower (command);    /* ecch! */
+      command = TOLOWER (command);     /* Ecch!  */
       switch (command)
        {
        case '#':
@@ -460,8 +469,8 @@ main ()
        case '?':
          for (pp = hashtable; pp < hashtable + TABLES; pp++)
            {
-             printf ("address of hash table #%d control block is %xx\n"
-                     ,pp - hashtable, *pp);
+             printf ("address of hash table #%d control block is %xx\n",
+                     pp - hashtable, *pp);
            }
          break;
        case 'a':
@@ -537,19 +546,9 @@ char *
 what (description)
      char *description;
 {
-  char *retval;
-  char *malloc ();
-
   printf ("   %s : ", description);
   gets (answer);
-  /* will one day clean up answer here */
-  retval = malloc (strlen (answer) + 1);
-  if (!retval)
-    {
-      error ("room");
-    }
-  (void) strcpy (retval, answer);
-  return (retval);
+  return xstrdup (answer);
 }
 
 void
@@ -561,7 +560,6 @@ destroy (string, value)
   free (value);
 }
 
-
 void
 applicatee (string, value)
      char *string;
@@ -570,11 +568,12 @@ applicatee (string, value)
   printf ("%.20s-%.20s\n", string, value);
 }
 
+/* Determine number: what hash table to use.
+   Also determine h: points to hash_control.  */
+
 void
-whattable ()                   /* determine number: what hash table to use */
-                               /* also determine h: points to hash_control */
+whattable ()
 {
-
   for (;;)
     {
       printf ("   what hash table (%d:%d) ?  ", 0, TABLES - 1);
@@ -596,6 +595,4 @@ whattable ()                        /* determine number: what hash table to use */
     }
 }
 
-#endif /* #ifdef TEST */
-
-/* end of hash.c */
+#endif /* TEST */
This page took 0.028311 seconds and 4 git commands to generate.