Fix hash table overallocation etc.
* src/fns.c (set_hash_key_and_value, set_hash_next) (set_hash_hash, set_hash_index): Remove. All uses removed. (maybe_resize_hash_table): Don’t update h->next until it’s known that all the allocations succeeded, to avoid trashing the hash table if memory is exhausted. Don’t overallocate the other vectors. Don’t output growth message if the hash table didn’t actually grow due to allocation failure. Assume C99 decls after statements.
Showing with 29 additions and 58 deletions