summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/tools/ldbdel.c
diff options
context:
space:
mode:
authorSimo Sorce <idra@samba.org>2005-08-18 15:02:01 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:33:32 -0500
commit3e4c4cff2177af33efdb15f03a1bbcb639505cee (patch)
tree852723e443ca41ef6b1d91dd3c11224eddebbd48 /source4/lib/ldb/tools/ldbdel.c
parenta8d51f87620a688a286603766cbb7edb2b7c6e60 (diff)
downloadsamba-3e4c4cff2177af33efdb15f03a1bbcb639505cee.tar.gz
samba-3e4c4cff2177af33efdb15f03a1bbcb639505cee.tar.bz2
samba-3e4c4cff2177af33efdb15f03a1bbcb639505cee.zip
r9391: Convert all the code to use struct ldb_dn to ohandle ldap like distinguished names
Provide more functions to handle DNs in this form (This used to be commit 692e35b7797e39533dd2a1c4b63d9da30f1eb5ba)
Diffstat (limited to 'source4/lib/ldb/tools/ldbdel.c')
-rw-r--r--source4/lib/ldb/tools/ldbdel.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/source4/lib/ldb/tools/ldbdel.c b/source4/lib/ldb/tools/ldbdel.c
index fdb1f7ef3b..6082931e22 100644
--- a/source4/lib/ldb/tools/ldbdel.c
+++ b/source4/lib/ldb/tools/ldbdel.c
@@ -41,7 +41,7 @@
#include "system/filesys.h"
#endif
-static int ldb_delete_recursive(struct ldb_context *ldb, const char *dn)
+static int ldb_delete_recursive(struct ldb_context *ldb, const struct ldb_dn *dn)
{
int ret, i, total=0;
const char *attrs[] = { "dn", NULL };
@@ -94,7 +94,13 @@ static void usage(void)
}
for (i=0;i<options->argc;i++) {
- const char *dn = options->argv[i];
+ const struct ldb_dn *dn;
+
+ dn = ldb_dn_explode(ldb, options->argv[i]);
+ if (dn == NULL) {
+ printf("Invalid DN format\n");
+ exit(1);
+ }
if (options->recursive) {
ret = ldb_delete_recursive(ldb, dn);
} else {
@@ -104,7 +110,9 @@ static void usage(void)
}
}
if (ret != 0) {
- printf("delete of '%s' failed - %s\n", dn, ldb_errstring(ldb));
+ printf("delete of '%s' failed - %s\n",
+ ldb_dn_linearize(ldb, dn),
+ ldb_errstring(ldb));
}
}