summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/rpc_server/drsuapi/getncchanges.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/source4/rpc_server/drsuapi/getncchanges.c b/source4/rpc_server/drsuapi/getncchanges.c
index 511925a4791..8ea17e5bfd3 100644
--- a/source4/rpc_server/drsuapi/getncchanges.c
+++ b/source4/rpc_server/drsuapi/getncchanges.c
@@ -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++) {