From d595f070f6ab7c6c8732c3c3a4ca39d37bcca3b4 Mon Sep 17 00:00:00 2001 From: Kamen Mazdrashki Date: Tue, 10 Aug 2010 21:05:47 +0300 Subject: s4-dsdb: fix attributes_by_msDS_IntId index sorting --- source4/dsdb/schema/schema_set.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'source4/dsdb') diff --git a/source4/dsdb/schema/schema_set.c b/source4/dsdb/schema/schema_set.c index b8ed7ca3e1..344e9bb677 100644 --- a/source4/dsdb/schema/schema_set.c +++ b/source4/dsdb/schema/schema_set.c @@ -230,6 +230,10 @@ static int dsdb_compare_attribute_by_attributeID_id(struct dsdb_attribute **a1, { return uint32_cmp((*a1)->attributeID_id, (*a2)->attributeID_id); } +static int dsdb_compare_attribute_by_msDS_IntId(struct dsdb_attribute **a1, struct dsdb_attribute **a2) +{ + return uint32_cmp((*a1)->msDS_IntId, (*a2)->msDS_IntId); +} static int dsdb_compare_attribute_by_attributeID_oid(struct dsdb_attribute **a1, struct dsdb_attribute **a2) { return strcasecmp((*a1)->attributeID_oid, (*a2)->attributeID_oid); @@ -345,7 +349,7 @@ static int dsdb_setup_sorted_accessors(struct ldb_context *ldb, /* sort the arrays */ TYPESAFE_QSORT(schema->attributes_by_lDAPDisplayName, schema->num_attributes, dsdb_compare_attribute_by_lDAPDisplayName); TYPESAFE_QSORT(schema->attributes_by_attributeID_id, schema->num_attributes, dsdb_compare_attribute_by_attributeID_id); - TYPESAFE_QSORT(schema->attributes_by_msDS_IntId, schema->num_int_id_attr, dsdb_compare_attribute_by_attributeID_id); + TYPESAFE_QSORT(schema->attributes_by_msDS_IntId, schema->num_int_id_attr, dsdb_compare_attribute_by_msDS_IntId); TYPESAFE_QSORT(schema->attributes_by_attributeID_oid, schema->num_attributes, dsdb_compare_attribute_by_attributeID_oid); TYPESAFE_QSORT(schema->attributes_by_linkID, schema->num_attributes, dsdb_compare_attribute_by_linkID); -- cgit