Add an explicit hash_delete() function.
This commit is contained in:
		
							parent
							
								
									6062df4a0f
								
							
						
					
					
						commit
						9d48d5b7d4
					
				
					 2 changed files with 8 additions and 0 deletions
				
			
		|  | @ -91,6 +91,13 @@ void *hash_search_or_insert(hash_t *hash, const void *key, const void *value) { | |||
| 	return NULL; | ||||
| } | ||||
| 
 | ||||
| /* Deleting */ | ||||
| 
 | ||||
| void hash_delete(hash_t *hash, const void *key) { | ||||
| 	uint32_t i = modulo(hash_function(key, hash->size), hash->n); | ||||
| 	hash->values[i] = NULL; | ||||
| } | ||||
| 
 | ||||
| /* Utility functions */ | ||||
| 
 | ||||
| void hash_clear(hash_t *hash) { | ||||
|  |  | |||
|  | @ -31,6 +31,7 @@ extern hash_t *hash_alloc(size_t n, size_t size) __attribute__ ((__malloc__)); | |||
| extern void hash_free(hash_t *); | ||||
| 
 | ||||
| extern void hash_insert(hash_t *, const void *key, const void *value); | ||||
| extern void hash_delete(hash_t *, const void *key); | ||||
| 
 | ||||
| extern void *hash_search(const hash_t *, const void *key); | ||||
| extern void *hash_search_or_insert(hash_t *, const void *key, const void *value); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue