]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/slapadd.c
don't bother about unregistering stuff during shutdown
[openldap] / servers / slapd / slapadd.c
index 11cf55f371a93a12a7b458070c4d9120079a2421..6a01077dae327813f45dcb482c4aafadb0acf54b 100644 (file)
@@ -62,7 +62,7 @@ slapadd( int argc, char **argv )
        int match;
        int ret;
        int checkvals;
-       int lineno;
+       int lineno, nextline;
        int lmax;
        int rc = EXIT_SUCCESS;
        int manage = 0; 
@@ -93,7 +93,7 @@ slapadd( int argc, char **argv )
        checkvals = (slapMode & SLAP_TOOL_QUICK) ? 0 : 1;
 
        lmax = 0;
-       lineno = 0;
+       nextline = 0;
 
        if( !dryrun && be->be_entry_open( be, 1 ) != 0 ) {
                fprintf( stderr, "%s: could not open database.\n",
@@ -106,8 +106,15 @@ slapadd( int argc, char **argv )
                maxcsn.bv_len = 0;
        }
 
-       while( ldif_read_record( ldiffp, &lineno, &buf, &lmax ) ) {
-               Entry *e = str2entry2( buf, checkvals );
+       /* nextline is the line number of the end of the current entry */
+       for( lineno=1; ldif_read_record( ldiffp, &nextline, &buf, &lmax );
+               lineno=nextline+1 ) {
+               Entry *e;
+
+               if ( lineno < jumpline )
+                       continue;
+
+               e = str2entry2( buf, checkvals );
 
                /*
                 * Initialize text buffer