rem: int new_max = nh->max * 2 +1;
add: int new_max = (nh->max + 1) * 2 - 1;
context: expand_array(new_hash_table *nh){	hash_index *hi;	hash_entry **new_array;	int new_max = nh->max * 2 +1;	int i;	new_array = (hash_entry **)malloc(sizeof(hash_entry) * new_max);	memset(new_array, 0, sizeof(hash_entry) * new_max);	for (hi = new_hash_first(nh); hi; hi = new_hash_next(hi)) {		i = hi->this_idx->hash & new_max;		hi->this_idx->next = new_array[i];		new_array[i] = hi->this_idx;	}	free(nh->array);	nh->array = new_array;	nh->max = new_max;}