make a more recent snapshot of ldb available to interested
[metze/samba/wip.git] / source4 / lib / ldb / ldb_tdb / ldbadd.c
1  /* 
2    Unix SMB/CIFS implementation.
3
4    a utility to add elements to a ldb
5
6    Copyright (C) Andrew Tridgell 2004
7    
8    This program is free software; you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation; either version 2 of the License, or
11    (at your option) any later version.
12    
13    This program is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17    
18    You should have received a copy of the GNU General Public License
19    along with this program; if not, write to the Free Software
20    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 */
22
23 #include "includes.h"
24
25  int main(void)
26 {
27         static struct ldb_context *ldb;
28         struct ldb_message *msg;
29         int ret;
30         int count=0, failures=0;
31
32         ldb = ltdb_connect("tdb://test.ldb", 0, NULL);
33
34         if (!ldb) {
35                 perror("ldb_connect");
36                 exit(1);
37         }
38
39         while ((msg = ldif_read(stdin))) {
40                 ret = ldb->ops->add(ldb, msg);
41                 if (ret != 0) {
42                         fprintf(stderr, "Failed to add record '%s'\n", msg->dn);
43                         failures++;
44                 } else {
45                         count++;
46                 }
47                 ldif_read_free(msg);
48         }
49
50         ldb->ops->close(ldb);
51
52         printf("Added %d records with %d failures\n", count, failures);
53         
54         return 0;
55 }