]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/tools/ldif2index.c
Import minor trace output cleanup
[openldap] / servers / slapd / tools / ldif2index.c
index 9995dea664fa3b5f88fd40e3a9e553cf0014f00d..2b39bca046375342a7c3c2784e61f299cca56260 100644 (file)
@@ -1,43 +1,21 @@
 #include "portable.h"
 
 #include <stdio.h>
+#include <stdlib.h>
 
+#include <ac/ctype.h>
 #include <ac/string.h>
 #include <ac/socket.h>
+#include <ac/unistd.h>
 
 #include "../slap.h"
+#include "../back-ldbm/back-ldbm.h"
 
 #include "ldapconfig.h"
 #include "ldif.h"
 
 #define MAXARGS                100
 
-extern void    attr_index_config();
-extern char    *attr_normalize();
-extern int     nbackends;
-extern Backend *backends;
-extern int     ldap_debug;
-
-int            ldap_debug;
-int            ldap_syslog;
-int            ldap_syslog_level;
-int            global_schemacheck;
-int            num_entries_sent;
-int            num_bytes_sent;
-int            active_threads;
-char           *default_referral;
-struct objclass        *global_oc;
-time_t         currenttime;
-pthread_t      listener_tid;
-pthread_mutex_t        num_sent_mutex;
-pthread_mutex_t        entry2str_mutex;
-pthread_mutex_t        active_threads_mutex;
-pthread_mutex_t        new_conn_mutex;
-pthread_mutex_t        currenttime_mutex;
-pthread_mutex_t        replog_mutex;
-pthread_mutex_t        ops_mutex;
-pthread_mutex_t        regex_mutex;
-
 static void
 usage( char *name )
 {
@@ -45,6 +23,7 @@ usage( char *name )
        exit( 1 );
 }
 
+int
 main( int argc, char **argv )
 {
        int             i, cargc, indb, stop;
@@ -58,9 +37,9 @@ main( int argc, char **argv )
        int             dbnum;
        unsigned long   id;
        Backend         *be = NULL;
+       struct ldbminfo *li;
        struct berval   bv;
        struct berval   *vals[2];
-       extern char     *optarg;
 
        inputfile = NULL;
        tailorfile = SLAPD_DEFAULT_CONFIGFILE;
@@ -122,6 +101,10 @@ main( int argc, char **argv )
        }
        be = &backends[dbnum];
 
+       /* disable write sync'ing */
+       li = (struct ldbminfo *) be->be_private;
+       li->li_dbcachewsync = 0;
+
        attr_masks( be->be_private, attr, &indexmask, &syntaxmask );
        if ( indexmask == 0 ) {
                exit( 0 );
@@ -154,7 +137,11 @@ main( int argc, char **argv )
                }
                if ( line[0] == '\n' || stop && buf && *buf ) {
                        if ( *buf != '\n' ) {
-                               id++;
+                               if (isdigit(*buf)) {
+                                       id = atol(buf);
+                               } else {
+                                       id++;
+                               }
                                s = buf;
                                elineno = 0;
                                while ( (linep = str_getline( &s )) != NULL ) {