From: Daniel Barkalow Date: Thu, 25 Oct 2007 19:43:46 GMT Subject: Re: [PATCH 5/6] Do linear-time/space rename logic for exact renames Message-ID: In-Reply-To: > +/* > + * Insert a new hash entry pointer into the table. > + * > + * If that hash entry already existed, return the pointer to > + * the existing entry (and the caller can create a list of the > + * pointers or do anything else). If it didn't exist, return > + * NULL (and the caller knows the pointer has been inserted). > + */ Creating a list of the pointers doesn't work correctly with the grow implementation, because growing the hash may turn a collision into a non-collision, at which point items other than the first cannot be found (since they're listed inside a bucket that's now wrong for them). AFAIK, resizing a hash table requires being able to figure out what happened with collisions. -Daniel *This .sig left intentionally blank*