Use the direct pointer to the syntax
[kai/samba.git] / source4 / utils / ad2oLschema.c
index c579112b45ddf0c50580632de9c2935f6e735bf9..2e3139d9c75300e515e3f1be914d8c840ca29563 100644 (file)
@@ -226,7 +226,6 @@ static struct schema_conv process_convert(struct ldb_context *ldb, enum dsdb_sch
                const char *equality = NULL, *substring = NULL;
                bool single_value = attribute->isSingleValued;
 
-               const struct dsdb_syntax *map = find_syntax_map_by_ad_syntax(attribute->oMSyntax);
                char *schema_entry = NULL;
                int j;
 
@@ -244,11 +243,11 @@ static struct schema_conv process_convert(struct ldb_context *ldb, enum dsdb_sch
                        }
                }
                
-               if (map) {
+               if (attribute->syntax) {
                        /* We might have been asked to remap this oid,
                         * due to a conflict, or lack of
                         * implementation */
-                       syntax = map->ldap_oid;
+                       syntax = attribute->syntax->ldap_oid;
                        /* We might have been asked to remap this oid, due to a conflict */
                        for (j=0; syntax && oid_map && oid_map[j].old_oid; j++) {
                                if (strcasecmp(syntax, oid_map[j].old_oid) == 0) {
@@ -257,8 +256,8 @@ static struct schema_conv process_convert(struct ldb_context *ldb, enum dsdb_sch
                                }
                        }
                        
-                       equality = map->equality;
-                       substring = map->substring;
+                       equality = attribute->syntax->equality;
+                       substring = attribute->syntax->substring;
                }
 
                /* We might have been asked to remap this name, due to a conflict */
@@ -278,7 +277,10 @@ static struct schema_conv process_convert(struct ldb_context *ldb, enum dsdb_sch
                                                            substring, 
                                                            syntax, 
                                                            single_value, 
-                                                           false);
+                                                           false,
+                                                           NULL, NULL,
+                                                           NULL, NULL,
+                                                           false, false);
 
                if (schema_entry == NULL) {
                        ret.failures++;
@@ -366,7 +368,8 @@ static struct schema_conv process_convert(struct ldb_context *ldb, enum dsdb_sch
                                                        subClassOf,
                                                        objectClassCategory,
                                                        must,
-                                                       may);
+                                                       may,
+                                                       NULL);
                if (schema_entry == NULL) {
                        ret.failures++;
                        return ret;