* hashtab.h (struct htab): Add member return_allocation_failure.
(htab_try_create): New prototype. Mention which functions may return NULL when this is used.
This commit is contained in:
parent
74f832daf0
commit
82e7f05e13
2 changed files with 16 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2000-11-04 Hans-Peter Nilsson <hp@bitrange.com>
|
||||||
|
|
||||||
|
* hashtab.h (struct htab): Add member return_allocation_failure.
|
||||||
|
(htab_try_create): New prototype. Mention which functions may
|
||||||
|
return NULL when this is used.
|
||||||
|
|
||||||
2000-11-03 Hans-Peter Nilsson <hp@bitrange.com>
|
2000-11-03 Hans-Peter Nilsson <hp@bitrange.com>
|
||||||
|
|
||||||
* hashtab.h: Change void * to PTR where necessary.
|
* hashtab.h: Change void * to PTR where necessary.
|
||||||
|
|
|
@ -98,6 +98,10 @@ struct htab
|
||||||
/* The following member is used for debugging. Its value is number
|
/* The following member is used for debugging. Its value is number
|
||||||
of collisions fixed for time of work with the hash table. */
|
of collisions fixed for time of work with the hash table. */
|
||||||
unsigned int collisions;
|
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;
|
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,
|
extern htab_t htab_create PARAMS ((size_t, htab_hash,
|
||||||
htab_eq, htab_del));
|
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_delete PARAMS ((htab_t));
|
||||||
extern void htab_empty PARAMS ((htab_t));
|
extern void htab_empty PARAMS ((htab_t));
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue