From 82e7f05e13cc6fd05f1289378e863f25ff8d2f21 Mon Sep 17 00:00:00 2001 From: Hans-Peter Nilsson Date: Sat, 4 Nov 2000 07:48:51 +0000 Subject: * hashtab.h (struct htab): Add member return_allocation_failure. (htab_try_create): New prototype. Mention which functions may return NULL when this is used. --- include/hashtab.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'include/hashtab.h') diff --git a/include/hashtab.h b/include/hashtab.h index c110ac5..a577c5e 100644 --- a/include/hashtab.h +++ b/include/hashtab.h @@ -98,6 +98,10 @@ struct htab /* The following member is used for debugging. Its value is number of collisions fixed for time of work with the hash table. */ unsigned int collisions; + + /* This is non-zero if we are allowed to return NULL for function calls + that allocate memory. */ + int return_allocation_failure; }; typedef struct htab *htab_t; @@ -109,6 +113,12 @@ enum insert_option {NO_INSERT, INSERT}; extern htab_t htab_create PARAMS ((size_t, htab_hash, htab_eq, htab_del)); + +/* This function is like htab_create, but may return NULL if memory + allocation fails, and also signals that htab_find_slot_with_hash and + htab_find_slot are allowed to return NULL when inserting. */ +extern htab_t htab_try_create PARAMS ((size_t, htab_hash, + htab_eq, htab_del)); extern void htab_delete PARAMS ((htab_t)); extern void htab_empty PARAMS ((htab_t)); -- cgit v1.1