svn commit: samba r2381 - in branches/SAMBA_4_0/source/lib/ldb/tools: .

tridge at samba.org tridge at samba.org
Fri Sep 17 10:42:34 GMT 2004


Author: tridge
Date: 2004-09-17 10:42:33 +0000 (Fri, 17 Sep 2004)
New Revision: 2381

WebSVN: http://websvn.samba.org/websvn/changeset.php?rep=samba&path=/branches/SAMBA_4_0/source/lib/ldb/tools&rev=2381&nolog=1

Log:
added a -v debugging option to ldbedit




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


Changeset:
Modified: branches/SAMBA_4_0/source/lib/ldb/tools/ldbedit.c
===================================================================
--- branches/SAMBA_4_0/source/lib/ldb/tools/ldbedit.c	2004-09-17 10:41:53 UTC (rev 2380)
+++ branches/SAMBA_4_0/source/lib/ldb/tools/ldbedit.c	2004-09-17 10:42:33 UTC (rev 2381)
@@ -34,7 +34,23 @@
 
 #include "includes.h"
 
+static int verbose;
+
 /*
+  debug routine 
+*/
+static void ldif_write_msg(struct ldb_context *ldb, 
+			   FILE *f, 
+			   enum ldb_changetype changetype,
+			   struct ldb_message *msg)
+{
+	struct ldb_ldif ldif;
+	ldif.changetype = changetype;
+	ldif.msg = *msg;
+	ldb_ldif_write_file(ldb, f, &ldif);
+}
+
+/*
   modify a database record so msg1 becomes msg2
   returns the number of modified elements
 */
@@ -91,6 +107,10 @@
 		return -1;
 	}
 
+	if (verbose > 0) {
+		ldif_write_msg(ldb, stdout, LDB_CHANGETYPE_MODIFY, &mod);
+	}
+
 	return count;
 }
 
@@ -130,6 +150,9 @@
 					msgs2[i]->dn, ldb_errstring(ldb));
 				return -1;
 			}
+			if (verbose > 0) {
+				ldif_write_msg(ldb, stdout, LDB_CHANGETYPE_ADD, msgs2[i]);
+			}
 			adds++;
 		} else {
 			if (modify_record(ldb, msg, msgs2[i]) > 0) {
@@ -147,6 +170,9 @@
 					msgs1[i]->dn, ldb_errstring(ldb));
 				return -1;
 			}
+			if (verbose > 0) {
+				ldif_write_msg(ldb, stdout, LDB_CHANGETYPE_DELETE, msgs1[i]);
+			}
 			deletes++;
 		}
 	}
@@ -295,7 +321,7 @@
 		editor = "vi";
 	}
 
-	while ((opt = getopt(argc, argv, "hab:e:H:s:")) != EOF) {
+	while ((opt = getopt(argc, argv, "hab:e:H:s:v")) != EOF) {
 		switch (opt) {
 		case 'b':
 			basedn = optarg;
@@ -323,6 +349,10 @@
 			expression = "(|(objectclass=*)(dn=*))";
 			break;
 			
+		case 'v':
+			verbose++;
+			break;
+
 		case 'h':
 		default:
 			usage();



More information about the samba-cvs mailing list