X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Ftools%2Fldif.c;h=0f4b2ebb67ae5b3e50c9b5b90278471661acaac3;hb=abbcc73794ed138a49630ccf86d8b404c3f7c71e;hp=dc9f25d584e9d80d46c4ee47bff1c4541c53d554;hpb=42e0d83cb3a1a1c5b25183f1ab74ce7edbe25de7;p=openldap diff --git a/servers/slapd/tools/ldif.c b/servers/slapd/tools/ldif.c index dc9f25d584..0f4b2ebb67 100644 --- a/servers/slapd/tools/ldif.c +++ b/servers/slapd/tools/ldif.c @@ -1,8 +1,12 @@ +#include "portable.h" + #include -#include -#include -#include -#include +#include + +#include +#include +#include /* Get read() */ + #include "lber.h" #include "ldap.h" #include "ldif.h" @@ -11,20 +15,19 @@ int ldap_syslog; int ldap_syslog_level; -usage( name ) -char *name; +static void +usage( char *name ) { fprintf( stderr, "usage: %s [-b] \n", name ); exit( 1 ); } -main( argc, argv ) - int argc; - char **argv; +int +main( int argc, char **argv ) { char buf[BUFSIZ]; char *type, *out; - int binary = 0; + int len, binary = 0; if (argc < 2 || argc > 3 ) { usage( argv[0] ); @@ -79,7 +82,9 @@ main( argc, argv ) } /* not binary: one value per line... */ - while ( gets( buf ) != NULL ) { + while ( fgets( buf, sizeof(buf), stdin ) != NULL ) { + if( buf[len=strlen(buf)] == '\n') buf[len] = '\0'; + if (( out = ldif_type_and_value( type, buf, strlen( buf ) )) == NULL ) { perror( "ldif_type_and_value" );