From: Kurt Zeilenga Date: Sat, 31 Jul 1999 04:02:52 +0000 (+0000) Subject: Import Julio ldif2ldbm fixes from devel. X-Git-Tag: OPENLDAP_REL_ENG_1_2_6~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=02084bdcb4dea792b63e6a0bef21feb9c6e8ff1b;p=thirdparty%2Fopenldap.git Import Julio ldif2ldbm fixes from devel. --- diff --git a/servers/slapd/tools/ldif2id2children.c b/servers/slapd/tools/ldif2id2children.c index 1dab807cd1..9a31b33b74 100644 --- a/servers/slapd/tools/ldif2id2children.c +++ b/servers/slapd/tools/ldif2id2children.c @@ -239,7 +239,11 @@ main( int argc, char **argv ) } if ( line[0] == '\n' || stop && buf && *buf ) { if ( * buf != '\n' ) { - id++; + if (isdigit((unsigned char) *buf)) { + id = atol(buf); + } else { + id++; + } s = buf; while ( (linep = str_getline( &s )) != NULL ) { if ( str_parse_line( linep, &type, &val, diff --git a/servers/slapd/tools/ldif2id2entry.c b/servers/slapd/tools/ldif2id2entry.c index 1ab1a2d681..4ef6a8e636 100644 --- a/servers/slapd/tools/ldif2id2entry.c +++ b/servers/slapd/tools/ldif2id2entry.c @@ -34,7 +34,7 @@ main( int argc, char **argv ) char line[BUFSIZ], idbuf[BUFSIZ]; int lmax, lcur; int dbnum; - ID id; + ID id, maxid; struct dbcache *db; Backend *be = NULL; struct ldbminfo *li; @@ -116,6 +116,7 @@ main( int argc, char **argv ) } id = 0; + maxid = 0; stop = 0; buf = NULL; lcur = lmax = 0; @@ -164,6 +165,7 @@ main( int argc, char **argv ) int len; id++; + if( id > maxid ) maxid = id; key.dptr = (char *) &id; key.dsize = sizeof(ID); data.dptr = buf; @@ -185,14 +187,14 @@ main( int argc, char **argv ) } (*be->be_close)( be ); - id++; + maxid++; sprintf( line, "%s/NEXTID", ((struct ldbminfo *) be->be_private)->li_directory ); if ( (fp = fopen( line, "w" )) == NULL ) { perror( line ); - fprintf( stderr, "Could not write next id %ld\n", id ); + fprintf( stderr, "Could not write next id %ld\n", maxid ); } else { - fprintf( fp, "%ld\n", id ); + fprintf( fp, "%ld\n", maxid ); fclose( fp ); }