r19831: Big ldb_dn optimization and interfaces enhancement patch
[kamenim/samba.git] / source4 / lib / ldb / tools / ldbrename.c
index 9c0870721d487fb6e85aece70c58ba5ab1e8385c..d7e1347fea7d5b0b8d48e0564908af31b60bfb71 100644 (file)
@@ -56,7 +56,7 @@ int main(int argc, const char **argv)
        struct ldb_context *ldb;
        int ret;
        struct ldb_cmdline *options;
-       const struct ldb_dn *dn1, *dn2;
+       struct ldb_dn *dn1, *dn2;
 
        ldb_global_init();
 
@@ -68,8 +68,17 @@ int main(int argc, const char **argv)
                usage();
        }
 
-       dn1 = ldb_dn_explode(ldb, options->argv[0]);
-       dn2 = ldb_dn_explode(ldb, options->argv[1]);
+       dn1 = ldb_dn_new(ldb, ldb, options->argv[0]);
+       dn2 = ldb_dn_new(ldb, ldb, options->argv[1]);
+
+       if ( ! ldb_dn_validate(dn1)) {
+               printf("Invalid DN1: %s\n", options->argv[0]);
+               return -1;
+       }
+       if ( ! ldb_dn_validate(dn2)) {
+               printf("Invalid DN2: %s\n", options->argv[1]);
+               return -1;
+       }
 
        ret = ldb_rename(ldb, dn1, dn2);
        if (ret == 0) {