OAR

RTEMS GNU Tools On-Line Library


Creating and Freeing a Hash Table

PREV UP NEXT Bookshelf

2.19.1: Creating and freeing a hash table

To create a hash table, create an instance of a struct bfd_hash_table (defined in bfd.h) and call bfd_hash_table_init (if you know approximately how many entries you will need, the function bfd_hash_table_init_n, which takes a size argument, may be used). bfd_hash_table_init returns false if some sort of error occurs.

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. See Deriving a New Hash Table Type, for why you would want to use a different value for this argument.

bfd_hash_table_init will create an objalloc which will be used to allocate new entries. You may allocate memory on this objalloc using bfd_hash_allocate.

Use bfd_hash_table_free to free up all the memory that has been allocated for a hash table. This will not free up the struct bfd_hash_table itself, which you must provide.


PREV UP NEXT Bookshelf

Packaging copyright © 1988-2000 OAR Corporation
Context copyright by each document's author. See Free Software Foundation for information.