Howard Chu writes: > Ando and I tripped over this before, the solution was to compare the > be->be_private pointer. > > I suppose it's possible that a backend (like back-null?) may have no > private data, so perhaps be_nsuffix is a better choice.
Back-null has private data. OTOH, back-passwd's be_private is only set if it is configured with an alternate passwd file, otherwise it's NULL. be->be_private need not be constant for the lifetime of a database: back-ldap/chain.c and overlays/translucent.c modify it. back-monitor/monitor_back_db_open() reads be->be_private and stores it back, even though it never changes it. I don't know why. >[EMAIL PROTECTED] wrote: >> Add be_match() macro: one cannot always compare BackendDB pointer >> values in order to test equivalence, because the overlay engine >> may have reset the backend pointer to a temporary copy on the stack. >> >> So, we test pointer equivalence of the BackendDB itself, then of >> be_nsuffix -- this macro can be updated if necessary. -- Hallvard
