svn commit: samba r19274 - in
branches/SAMBA_4_0/source/lib/ldb/tools: .
tridge at samba.org
tridge at samba.org
Sat Oct 14 08:26:10 GMT 2006
Author: tridge
Date: 2006-10-14 08:26:10 +0000 (Sat, 14 Oct 2006)
New Revision: 19274
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=19274
Log:
fix ldbdel and ldbmodify to return an error if the underlying ldb call
fails
Modified:
branches/SAMBA_4_0/source/lib/ldb/tools/ldbdel.c
branches/SAMBA_4_0/source/lib/ldb/tools/ldbmodify.c
Changeset:
Modified: branches/SAMBA_4_0/source/lib/ldb/tools/ldbdel.c
===================================================================
--- branches/SAMBA_4_0/source/lib/ldb/tools/ldbdel.c 2006-10-14 04:43:51 UTC (rev 19273)
+++ branches/SAMBA_4_0/source/lib/ldb/tools/ldbdel.c 2006-10-14 08:26:10 UTC (rev 19274)
@@ -76,7 +76,7 @@
int main(int argc, const char **argv)
{
struct ldb_context *ldb;
- int ret, i;
+ int ret = 0, i;
struct ldb_cmdline *options;
ldb_global_init();
@@ -115,5 +115,5 @@
talloc_free(ldb);
- return 0;
+ return ret;
}
Modified: branches/SAMBA_4_0/source/lib/ldb/tools/ldbmodify.c
===================================================================
--- branches/SAMBA_4_0/source/lib/ldb/tools/ldbmodify.c 2006-10-14 04:43:51 UTC (rev 19273)
+++ branches/SAMBA_4_0/source/lib/ldb/tools/ldbmodify.c 2006-10-14 08:26:10 UTC (rev 19274)
@@ -53,10 +53,10 @@
/*
process modifies for one file
*/
-static int process_file(struct ldb_context *ldb, FILE *f)
+static int process_file(struct ldb_context *ldb, FILE *f, int *count)
{
struct ldb_ldif *ldif;
- int ret = -1, count = 0;
+ int ret = LDB_SUCCESS;
while ((ldif = ldb_ldif_read_file(ldb, f))) {
switch (ldif->changetype) {
@@ -71,24 +71,24 @@
ret = ldb_modify(ldb, ldif->msg);
break;
}
- if (ret != 0) {
+ if (ret != LDB_SUCCESS) {
fprintf(stderr, "ERR: \"%s\" on DN %s\n",
ldb_errstring(ldb), ldb_dn_linearize(ldb, ldif->msg->dn));
failures++;
} else {
- count++;
+ (*count)++;
}
ldb_ldif_read_free(ldb, ldif);
}
- return count;
+ return ret;
}
int main(int argc, const char **argv)
{
struct ldb_context *ldb;
int count=0;
- int i;
+ int i, ret=LDB_SUCCESS;
struct ldb_cmdline *options;
ldb_global_init();
@@ -98,7 +98,7 @@
options = ldb_cmdline_process(ldb, argc, argv, usage);
if (options->argc == 0) {
- count += process_file(ldb, stdin);
+ ret = process_file(ldb, stdin, &count);
} else {
for (i=0;i<options->argc;i++) {
const char *fname = options->argv[i];
@@ -108,7 +108,7 @@
perror(fname);
exit(1);
}
- count += process_file(ldb, f);
+ ret = process_file(ldb, f, &count);
}
}
@@ -116,9 +116,5 @@
printf("Modified %d records with %d failures\n", count, failures);
- if (failures != 0) {
- return -1;
- }
-
- return 0;
+ return ret;
}
More information about the samba-cvs
mailing list