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