Hi,

I just landed on mozilla-inbound the patches for
https://bugzilla.mozilla.org/show_bug.cgi?id=1124973, which replaced
PL_DHashTableLookup() with PL_DHashTableSearch().

(If you haven't heard of PL_DHashTableLookup(), that's because it is
quite new. https://bugzilla.mozilla.org/show_bug.cgi?id=1118024 and
https://bugzilla.mozilla.org/show_bug.cgi?id=1120262 replaced
PL_DHashTableOperate() with PL_DHashTable{Lookup,Add,Remove}).

PL_DHashTableLookup() was a strange API. You might expect it to return
a pointer to an entry on success and null on failure. Instead it would
always return a non-null hash table entry, and you then had to use
PL_DHASH_ENTRY_IS_FREE or PL_DHASH_ENTRY_IS_BUSY to test whether the
entry was in use. In fact, a few callers failed to do the right thing
and instead *did* do (useless) null checks and the fact that they
mostly worked was more by luck than design.

PL_DHashTableSearch() provides the abovementioned, obvious interface.

The bug's patches also removed PL_DHASH_ENTRY_IS_{FREE,BUSY} from
pldhash.h, because they are no longer needed by users of PLDHashTable.

I haven't prepared patches for comm-central but there are only a
handful of places that need changing and they should be very simple to
change.

Nick
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to