Author: idra
Date: 2005-08-21 17:20:34 +0000 (Sun, 21 Aug 2005)
New Revision: 9451

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=9451

Log:

some fixes now core.schema and cosine.schema are also read properly


Modified:
   branches/SAMBA_4_0/source/lib/ldb/tools/oLschema2ldif.c


Changeset:
Modified: branches/SAMBA_4_0/source/lib/ldb/tools/oLschema2ldif.c
===================================================================
--- branches/SAMBA_4_0/source/lib/ldb/tools/oLschema2ldif.c     2005-08-21 
17:19:14 UTC (rev 9450)
+++ branches/SAMBA_4_0/source/lib/ldb/tools/oLschema2ldif.c     2005-08-21 
17:20:34 UTC (rev 9451)
@@ -53,9 +53,10 @@
 #define SCHEMA_MAY 7
 #define SCHEMA_SINGLE_VALUE 8
 #define SCHEMA_EQUALITY 9
-#define SCHEMA_SUBSTR 10
-#define SCHEMA_SYNTAX 11
-#define SCHEMA_DESC 12
+#define SCHEMA_ORDERING 10
+#define SCHEMA_SUBSTR 11
+#define SCHEMA_SYNTAX 12
+#define SCHEMA_DESC 13
 
 
 struct schema_conv {
@@ -181,7 +182,15 @@
                talloc_free(type);
                token->type = SCHEMA_SUP;
 
-               token->value = get_def_value(ctx, &c);
+               if (*c == '(') {
+                       c++;
+                       n = strcspn(c, ")");
+                       token->value = talloc_strndup(ctx, c, n);
+                       c += n;
+                       c++;
+               } else {
+                       token->value = get_def_value(ctx, &c);
+               }
 
                c = skip_spaces(c);
                *string = c;
@@ -265,6 +274,17 @@
                return token;
        }
 
+       if (strcasecmp("ORDERING", type) == 0) {
+               talloc_free(type);
+               token->type = SCHEMA_ORDERING;
+
+               token->value = get_def_value(ctx, &c);
+
+               c = skip_spaces(c);
+               *string = c;
+               return token;
+       }
+
        if (strcasecmp("SUBSTR", type) == 0) {
                talloc_free(type);
                token->type = SCHEMA_SUBSTR;
@@ -381,7 +401,7 @@
                        break;
 
                case SCHEMA_SUP:
-                       MSG_ADD_STRING("subClassOf", token->value);
+                       MSG_ADD_M_STRING("subClassOf", token->value);
                        break;
 
                case SCHEMA_STRUCTURAL:
@@ -412,6 +432,10 @@
                        /* TODO */
                        break;
 
+               case SCHEMA_ORDERING:
+                       /* TODO */
+                       break;
+
                case SCHEMA_SUBSTR:
                        /* TODO */
                        break;

Reply via email to