Hi Marc,

> Secondly, after having given it some more thought, the alternative protocol
> (which we have called more robust) seems to be harder to understand because
> "p != e" could then mean two different things. So I will leave the original
> protocol in place, which is easy to comprehend: If "old_hamt == new_hamt",
> no insertion has taken place and one has manually free the element one has
> attempted to insert. If "old_hamt != new_hamt" the element has been
> inserted and has now to eventually free "new_hamt" besides "old_hamt".

Yes, an API with 3 possible outcomes is easier to use incorrectly than an
API with 2 possible outcomes.

> After I have rebased my code to HEAD, I will commit the new module to
> Gnulib.

Yes please. Thank you for your great contribution!!

Bruno


Reply via email to