1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-27 14:04:05 +03:00

s4:drsuapi: make use of LDB_TYPESAFE_QSORT() and pass getnc_state

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
Stefan Metzmacher 2012-12-18 15:16:28 +01:00
parent 88833b089a
commit 16aef75c4f

View File

@ -686,8 +686,9 @@ struct drsuapi_changed_objects {
/*
sort the objects we send by tree order
*/
static int site_res_cmp_parent_order(struct drsuapi_changed_objects *m1,
struct drsuapi_changed_objects *m2)
static int site_res_cmp_anc_order(struct drsuapi_changed_objects *m1,
struct drsuapi_changed_objects *m2,
struct drsuapi_getncchanges_state *getnc_state)
{
return ldb_dn_compare(m2->dn, m1->dn);
}
@ -695,8 +696,9 @@ static int site_res_cmp_parent_order(struct drsuapi_changed_objects *m1,
/*
sort the objects we send first by uSNChanged
*/
static int site_res_cmp_dn_usn_order(struct drsuapi_changed_objects *m1,
struct drsuapi_changed_objects *m2)
static int site_res_cmp_usn_order(struct drsuapi_changed_objects *m1,
struct drsuapi_changed_objects *m2,
struct drsuapi_getncchanges_state *getnc_state)
{
unsigned usnchanged1, usnchanged2;
unsigned cn1, cn2;
@ -1789,13 +1791,15 @@ allowed:
}
if (req10->replica_flags & DRSUAPI_DRS_GET_ANC) {
TYPESAFE_QSORT(changes,
getnc_state->num_records,
site_res_cmp_parent_order);
LDB_TYPESAFE_QSORT(changes,
getnc_state->num_records,
getnc_state,
site_res_cmp_anc_order);
} else {
TYPESAFE_QSORT(changes,
getnc_state->num_records,
site_res_cmp_dn_usn_order);
LDB_TYPESAFE_QSORT(changes,
getnc_state->num_records,
getnc_state,
site_res_cmp_usn_order);
}
for (i=0; i < getnc_state->num_records; i++) {