forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			52 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| PL_HashTableAdd
 | |
| ===============
 | |
| 
 | |
| Add a new entry with the specified key and value to the hash table.
 | |
| 
 | |
| 
 | |
| Syntax
 | |
| ------
 | |
| 
 | |
| .. code::
 | |
| 
 | |
|    #include <plhash.h>
 | |
| 
 | |
|    PLHashEntry *PL_HashTableAdd(
 | |
|      PLHashTable *ht,
 | |
|      const void *key,
 | |
|      void *value);
 | |
| 
 | |
| 
 | |
| Parameters
 | |
| ~~~~~~~~~~
 | |
| 
 | |
| The function has the following parameters:
 | |
| 
 | |
| ``ht``
 | |
|    A pointer to the the hash table to which to add the entry.
 | |
| ``key``
 | |
|    A pointer to the key for the entry to be added.
 | |
| ``value``
 | |
|    A pointer to the value for the entry to be added.
 | |
| 
 | |
| 
 | |
| Returns
 | |
| ~~~~~~~
 | |
| 
 | |
| A pointer to the new entry.
 | |
| 
 | |
| 
 | |
| Description
 | |
| -----------
 | |
| 
 | |
| Add a new entry with the specified key and value to the hash table.
 | |
| 
 | |
| If an entry with the same key already exists in the table, the
 | |
| ``freeEntry`` function is invoked with the ``HT_FREE_VALUE`` flag. You
 | |
| can write your ``freeEntry`` function to free the value of the specified
 | |
| entry if the old value should be freed. The default ``freeEntry``
 | |
| function does not free the value of the entry.
 | |
| 
 | |
| :ref:`PL_HashTableAdd` returns ``NULL`` if there is not enough memory to
 | |
| create a new entry. It doubles the number of buckets if the table is
 | |
| overloaded.
 | 
