X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Ftools%2Fedb2ldif.c;h=0ef3fb8edcab60c4532487aea4a42ab9577b33da;hb=4c52827d2864cc7b45e4d499d772fc035b7dbf47;hp=d46be1edfd60d694c23ba5a2454fbb80b963fbd8;hpb=42e0d83cb3a1a1c5b25183f1ab74ce7edbe25de7;p=openldap diff --git a/servers/slapd/tools/edb2ldif.c b/servers/slapd/tools/edb2ldif.c index d46be1edfd..0ef3fb8edc 100644 --- a/servers/slapd/tools/edb2ldif.c +++ b/servers/slapd/tools/edb2ldif.c @@ -1,3 +1,4 @@ +/* $OpenLDAP$ */ /* * Copyright (c) 1995 Regents of the University of Michigan. * All rights reserved. @@ -10,12 +11,18 @@ * is provided ``as is'' without express or implied warranty. */ +#include "portable.h" + #include -#include -#include -#include -#include -#include + +#include + +#include +#include +#include +#include +#include + #include #include @@ -53,6 +60,7 @@ struct edbmap { static int edb2ldif( FILE *outfp, char *edbfile, char *basedn, int recurse ); static int convert_entry( FILE *fp, char *edbname, FILE *outfp, char *basedn, char *loc_addvals, int loc_addlen, char *linebuf ); +static int add_rdn_values (Attr_Sequence entryas, RDN rdn); static int read_edbmap( char *mapfile, struct edbmap **edbmapp ); static char *file2rdn( struct edbmap *edbmap, char *filename ); static void free_edbmap( struct edbmap *edbmap ); @@ -77,15 +85,12 @@ int ldap_syslog = 0; int ldap_syslog_level = 0; -main( argc, argv ) - int argc; - char **argv; +int +main( int argc, char **argv ) { char *usage = "usage: %s [-d] [-o] [-r] [-v] [-b basedn] [-a addvalsfile] [-f fileattrdir] [-i ignoreattr...] [edbfile...]\n"; char edbfile[ MAXNAMLEN ], *basedn; int c, rc, errflg, ignore_count, recurse; - extern int optind; - extern char *optarg; extern char dsa_mode; #ifdef HAVE_FILE_ATTR_DIR extern char *file_attr_directory; @@ -105,7 +110,7 @@ main( argc, argv ) always_addvals = NULL; basedn = NULL; - while (( c = getopt( argc, argv, "dorva:b:f:h:i:" )) != -1 ) { + while (( c = getopt( argc, argv, "dorva:b:f:h:i:" )) != EOF ) { switch( c ) { case 'd': #ifdef LDAP_DEBUG @@ -133,7 +138,7 @@ main( argc, argv ) } else if (( always_addvals = read_file( optarg, &always_addlen )) == NULL ) { print_err( optarg ); - exit( 1 ); + exit( EXIT_FAILURE ); } break; @@ -157,7 +162,7 @@ main( argc, argv ) } if ( file_attr_directory == NULL ) { print_err( "malloc" ); - exit( 1 ); + exit( EXIT_FAILURE ); } #else /* HAVE_FILE_ATTR_DIR */ fprintf( stderr, "Ignoring -f: this option requires a newer version of ISODE.\n" ); @@ -177,7 +182,7 @@ main( argc, argv ) } if ( ignore_attr == NULL ) { print_err( "malloc/realloc" ); - exit( 1 ); + exit( EXIT_FAILURE ); } ignore_attr[ ignore_count ] = optarg; ignore_attr[ ++ignore_count ] = NULL; @@ -190,7 +195,7 @@ main( argc, argv ) if ( errflg ) { fprintf( stderr, usage, progname ); - exit( 1 ); + exit( EXIT_FAILURE ); } if ( basedn == NULL ) { @@ -209,7 +214,7 @@ main( argc, argv ) if ( init_syntaxes() < 0 ) { fprintf( stderr, "%s: init_syntaxes failed -- check your oid tables \n", progname ); - exit( 1 ); + exit( EXIT_FAILURE ); } @@ -238,16 +243,12 @@ main( argc, argv ) fprintf( stderr, "edb2ldif: exit( %d )\n", ( rc < 0 ) ? 1 : 0 ); #endif - exit( ( rc < 0 ) ? 1 : 0 ); + exit( ( rc < 0 ) ? EXIT_FAILURE : EXIT_SUCCESS ); } static int -edb2ldif( outfp, edbfile, basedn, recurse ) - FILE *outfp; - char *edbfile; - char *basedn; - int recurse; +edb2ldif( FILE *outfp, char *edbfile, char *basedn, int recurse ) { FILE *fp; char *addvals, *p, *rdn, line[ MAX_LINE_SIZE + 1 ]; @@ -470,14 +471,15 @@ edb2ldif( outfp, edbfile, basedn, recurse ) * return > 0 if entry converted, 0 if end of file, < 0 if error occurs */ static int -convert_entry( fp, edbname, outfp, basedn, loc_addvals, loc_addlen, linebuf ) - FILE *fp; - char *edbname; - FILE *outfp; - char *basedn; - char *loc_addvals; - int loc_addlen; - char *linebuf; +convert_entry( + FILE *fp, + char *edbname, + FILE *outfp, + char *basedn, + char *loc_addvals, + int loc_addlen, + char *linebuf +) { Attr_Sequence as, tmpas; AV_Sequence av; @@ -691,10 +693,8 @@ convert_entry( fp, edbname, outfp, basedn, loc_addvals, loc_addlen, linebuf ) } -int -add_rdn_values( entryas, rdn ) - Attr_Sequence entryas; - RDN rdn; +static int +add_rdn_values( Attr_Sequence entryas, RDN rdn ) { /* * this routine is based on code from the real_unravel_attribute() routine @@ -730,9 +730,7 @@ add_rdn_values( entryas, rdn ) /* read the EDB.map file and return a linked list of translations */ static int -read_edbmap( mapfile, edbmapp ) - char *mapfile; - struct edbmap **edbmapp; +read_edbmap( char *mapfile, struct edbmap **edbmapp ) { FILE *fp; char *p, *filename, *rdn, line[ MAX_LINE_SIZE + 1 ]; @@ -764,7 +762,7 @@ read_edbmap( mapfile, edbmapp ) } *filename++ = '\0'; - while ( isspace( *filename )) { /* strip leading whitespace */ + while ( isspace((unsigned char) *filename) ) { /* strip leading whitespace */ ++filename; } @@ -773,12 +771,12 @@ read_edbmap( mapfile, edbmapp ) } p = filename + strlen( filename ) - 1; - while ( isspace( *p )) { /* strip trailing whitespace */ + while ( isspace((unsigned char) *p) ) { /* strip trailing whitespace */ *p-- = '\0'; } rdn = line; - while ( isspace( *rdn )) { /* strip leading whitespace */ + while ( isspace((unsigned char) *rdn)) { /* strip leading whitespace */ ++rdn; } @@ -787,7 +785,7 @@ read_edbmap( mapfile, edbmapp ) } p = rdn + strlen( rdn ) - 1; - while ( isspace( *p )) { /* strip trailing whitespace */ + while ( isspace((unsigned char) *p)) { /* strip trailing whitespace */ *p-- = '\0'; } @@ -815,9 +813,7 @@ read_edbmap( mapfile, edbmapp ) static char * -file2rdn( edbmap, filename ) - struct edbmap *edbmap; - char *filename; +file2rdn( struct edbmap *edbmap, char *filename ) { #ifdef LDAP_DEBUG if ( debugflg ) { @@ -838,8 +834,7 @@ file2rdn( edbmap, filename ) /* free the edbmap list */ static void -free_edbmap( edbmap ) - struct edbmap *edbmap; +free_edbmap( struct edbmap *edbmap ) { struct edbmap *tmp; @@ -860,13 +855,8 @@ free_edbmap( edbmap ) static void -print_err( msg ) - char *msg; +print_err( char *msg ) { - extern int sys_nerr; - extern char *sys_errlist[]; - extern int errno; - #ifdef LDAP_DEBUG if ( debugflg ) { fprintf( stderr, "print_err( \"%s\" )\n", msg ); @@ -874,7 +864,7 @@ print_err( msg ) #endif if ( errno > sys_nerr ) { - fprintf( stderr, "%s: %s: error %d\n", progname, msg, errno ); + fprintf( stderr, "%s: %s: errno=%d\n", progname, msg, errno ); } else { fprintf( stderr, "%s: %s: %s\n", progname, msg, sys_errlist[ errno ] ); }