Possible fix for ITS#2777 - getline() conflict when _GNU_SOURCE is

defined. I simply renamed it to get_line(). (Probably this will
conflict with something else...)
This commit is contained in:
Luke Howard 2003-10-18 15:56:32 +00:00
parent a7619c4ce9
commit 2ce26dc96e

View file

@ -34,9 +34,7 @@
#include "ldap-int.h"
/* local functions */
#ifndef HAVE_GETLINE
static char *getline LDAP_P(( char *line, int len, FILE *fp, const char *prompt ));
#endif
static char *get_line LDAP_P(( char *line, int len, FILE *fp, const char *prompt ));
static char **get_list LDAP_P(( const char *prompt ));
static int file_read LDAP_P(( const char *path, struct berval *bv ));
static LDAPMod **get_modlist LDAP_P(( const char *prompt1,
@ -49,9 +47,8 @@ static void free_list LDAP_P(( char **list ));
static char *dnsuffix;
#ifndef HAVE_GETLINE
static char *
getline( char *line, int len, FILE *fp, const char *prompt )
get_line( char *line, int len, FILE *fp, const char *prompt )
{
printf(prompt);
@ -74,7 +71,7 @@ get_list( const char *prompt )
num = 0;
result = (char **) 0;
while ( 1 ) {
getline( buf, sizeof(buf), stdin, prompt );
get_line( buf, sizeof(buf), stdin, prompt );
if ( *buf == '\0' )
break;
@ -172,14 +169,14 @@ get_modlist(
result = NULL;
while ( 1 ) {
if ( prompt1 ) {
getline( buf, sizeof(buf), stdin, prompt1 );
get_line( buf, sizeof(buf), stdin, prompt1 );
tmp.mod_op = atoi( buf );
if ( tmp.mod_op == -1 || buf[0] == '\0' )
break;
}
getline( buf, sizeof(buf), stdin, prompt2 );
get_line( buf, sizeof(buf), stdin, prompt2 );
if ( buf[0] == '\0' )
break;
tmp.mod_type = strdup( buf );
@ -244,7 +241,7 @@ bind_prompt( LDAP *ld,
request, (long) msgid, url );
#ifdef LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND
getline( dn, sizeof(dn), stdin,
get_line( dn, sizeof(dn), stdin,
"re-bind method (0->simple, 1->krbv41, 2->krbv42, 3->krbv41&2)? " );
if (( authmethod = atoi( dn )) == 3 ) {
authmethod = LDAP_AUTH_KRBV4;
@ -255,11 +252,11 @@ bind_prompt( LDAP *ld,
authmethod = LDAP_AUTH_SIMPLE;
#endif /* LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND */
getline( dn, sizeof(dn), stdin, "re-bind dn? " );
get_line( dn, sizeof(dn), stdin, "re-bind dn? " );
strcat( dn, dnsuffix );
if ( authmethod == LDAP_AUTH_SIMPLE && dn[0] != '\0' ) {
getline( passwd, sizeof(passwd), stdin,
get_line( passwd, sizeof(passwd), stdin,
"re-bind password? " );
} else {
passwd[0] = '\0';
@ -368,7 +365,7 @@ main( int argc, char **argv )
timeout.tv_usec = 0;
(void) memset( line, '\0', sizeof(line) );
while ( getline( line, sizeof(line), stdin, "\ncommand? " ) != NULL ) {
while ( get_line( line, sizeof(line), stdin, "\ncommand? " ) != NULL ) {
command1 = line[0];
command2 = line[1];
command3 = line[2];
@ -377,7 +374,7 @@ main( int argc, char **argv )
case 'a': /* add or abandon */
switch ( command2 ) {
case 'd': /* add */
getline( dn, sizeof(dn), stdin, "dn? " );
get_line( dn, sizeof(dn), stdin, "dn? " );
strcat( dn, dnsuffix );
if ( (attrs = get_modlist( NULL, "attr? ",
"value? " )) == NULL )
@ -390,7 +387,7 @@ main( int argc, char **argv )
break;
case 'b': /* abandon */
getline( line, sizeof(line), stdin, "msgid? " );
get_line( line, sizeof(line), stdin, "msgid? " );
id = atoi( line );
if ( ldap_abandon( ld, id ) != 0 )
ldap_perror( ld, "ldap_abandon" );
@ -404,17 +401,17 @@ main( int argc, char **argv )
case 'b': /* asynch bind */
#ifdef LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND
getline( line, sizeof(line), stdin,
get_line( line, sizeof(line), stdin,
"method (0->simple, 1->krbv41, 2->krbv42)? " );
method = atoi( line ) | 0x80;
#else /* LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND */
method = LDAP_AUTH_SIMPLE;
#endif /* LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND */
getline( dn, sizeof(dn), stdin, "dn? " );
get_line( dn, sizeof(dn), stdin, "dn? " );
strcat( dn, dnsuffix );
if ( method == LDAP_AUTH_SIMPLE && dn[0] != '\0' )
getline( passwd, sizeof(passwd), stdin,
get_line( passwd, sizeof(passwd), stdin,
"password? " );
else
passwd[0] = '\0';
@ -430,7 +427,7 @@ main( int argc, char **argv )
case 'B': /* synch bind */
#ifdef LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND
getline( line, sizeof(line), stdin,
get_line( line, sizeof(line), stdin,
"method 0->simple 1->krbv41 2->krbv42 3->krb? " );
method = atoi( line );
if ( method == 3 )
@ -440,11 +437,11 @@ main( int argc, char **argv )
#else /* LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND */
method = LDAP_AUTH_SIMPLE;
#endif /* LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND */
getline( dn, sizeof(dn), stdin, "dn? " );
get_line( dn, sizeof(dn), stdin, "dn? " );
strcat( dn, dnsuffix );
if ( dn[0] != '\0' )
getline( passwd, sizeof(passwd), stdin,
get_line( passwd, sizeof(passwd), stdin,
"password? " );
else
passwd[0] = '\0';
@ -460,10 +457,10 @@ main( int argc, char **argv )
break;
case 'c': /* compare */
getline( dn, sizeof(dn), stdin, "dn? " );
get_line( dn, sizeof(dn), stdin, "dn? " );
strcat( dn, dnsuffix );
getline( attr, sizeof(attr), stdin, "attr? " );
getline( value, sizeof(value), stdin, "value? " );
get_line( attr, sizeof(attr), stdin, "attr? " );
get_line( value, sizeof(value), stdin, "value? " );
if ( (id = ldap_compare( ld, dn, attr, value )) == -1 )
ldap_perror( ld, "ldap_compare" );
@ -473,7 +470,7 @@ main( int argc, char **argv )
case 'd': /* turn on debugging */
#ifdef LDAP_DEBUG
getline( line, sizeof(line), stdin, "debug level? " );
get_line( line, sizeof(line), stdin, "debug level? " );
ldap_debug = atoi( line );
#ifdef LBER_DEBUG
if ( ldap_debug & LDAP_DEBUG_PACKETS ) {
@ -486,7 +483,7 @@ main( int argc, char **argv )
break;
case 'E': /* explode a dn */
getline( line, sizeof(line), stdin, "dn? " );
get_line( line, sizeof(line), stdin, "dn? " );
exdn = ldap_explode_dn( line, 0 );
for ( i = 0; exdn != NULL && exdn[i] != NULL; i++ ) {
printf( "\t%s\n", exdn[i] );
@ -494,18 +491,18 @@ main( int argc, char **argv )
break;
case 'g': /* set next msgid */
getline( line, sizeof(line), stdin, "msgid? " );
get_line( line, sizeof(line), stdin, "msgid? " );
ld->ld_msgid = atoi( line );
break;
case 'v': /* set version number */
getline( line, sizeof(line), stdin, "version? " );
get_line( line, sizeof(line), stdin, "version? " );
ld->ld_version = atoi( line );
break;
case 'm': /* modify or modifyrdn */
if ( strncmp( line, "modify", 4 ) == 0 ) {
getline( dn, sizeof(dn), stdin, "dn? " );
get_line( dn, sizeof(dn), stdin, "dn? " );
strcat( dn, dnsuffix );
if ( (mods = get_modlist(
"mod (0=>add, 1=>delete, 2=>replace -1=>done)? ",
@ -518,9 +515,9 @@ main( int argc, char **argv )
printf( "Modify initiated with id %d\n",
id );
} else if ( strncmp( line, "modrdn", 4 ) == 0 ) {
getline( dn, sizeof(dn), stdin, "dn? " );
get_line( dn, sizeof(dn), stdin, "dn? " );
strcat( dn, dnsuffix );
getline( rdn, sizeof(rdn), stdin, "newrdn? " );
get_line( rdn, sizeof(rdn), stdin, "newrdn? " );
if ( (id = ldap_modrdn( ld, dn, rdn )) == -1 )
ldap_perror( ld, "ldap_modrdn" );
else
@ -539,13 +536,13 @@ main( int argc, char **argv )
case 'r': /* result or remove */
switch ( command3 ) {
case 's': /* result */
getline( line, sizeof(line), stdin,
get_line( line, sizeof(line), stdin,
"msgid (-1=>any)? " );
if ( line[0] == '\0' )
id = -1;
else
id = atoi( line );
getline( line, sizeof(line), stdin,
get_line( line, sizeof(line), stdin,
"all (0=>any, 1=>all)? " );
if ( line[0] == '\0' )
all = 1;
@ -563,7 +560,7 @@ main( int argc, char **argv )
break;
case 'm': /* remove */
getline( dn, sizeof(dn), stdin, "dn? " );
get_line( dn, sizeof(dn), stdin, "dn? " );
strcat( dn, dnsuffix );
if ( (id = ldap_delete( ld, dn )) == -1 )
ldap_perror( ld, "ldap_delete" );
@ -579,15 +576,15 @@ main( int argc, char **argv )
break;
case 's': /* search */
getline( dn, sizeof(dn), stdin, "searchbase? " );
get_line( dn, sizeof(dn), stdin, "searchbase? " );
strcat( dn, dnsuffix );
getline( line, sizeof(line), stdin,
get_line( line, sizeof(line), stdin,
"scope (0=Base, 1=One Level, 2=Subtree)? " );
scope = atoi( line );
getline( filter, sizeof(filter), stdin,
get_line( filter, sizeof(filter), stdin,
"search filter (e.g. sn=jones)? " );
types = get_list( "attrs to return? " );
getline( line, sizeof(line), stdin,
get_line( line, sizeof(line), stdin,
"attrsonly (0=attrs&values, 1=attrs only)? " );
attrsonly = atoi( line );
@ -601,12 +598,12 @@ main( int argc, char **argv )
break;
case 't': /* set timeout value */
getline( line, sizeof(line), stdin, "timeout? " );
get_line( line, sizeof(line), stdin, "timeout? " );
timeout.tv_sec = atoi( line );
break;
case 'p': /* parse LDAP URL */
getline( line, sizeof(line), stdin, "LDAP URL? " );
get_line( line, sizeof(line), stdin, "LDAP URL? " );
if (( i = ldap_url_parse( line, &ludp )) != 0 ) {
fprintf( stderr, "ldap_url_parse: error %d\n", i );
} else {
@ -640,25 +637,25 @@ main( int argc, char **argv )
break;
case 'n': /* set dn suffix, for convenience */
getline( line, sizeof(line), stdin, "DN suffix? " );
get_line( line, sizeof(line), stdin, "DN suffix? " );
strcpy( dnsuffix, line );
break;
case 'o': /* set ldap options */
getline( line, sizeof(line), stdin, "alias deref (0=never, 1=searching, 2=finding, 3=always)?" );
get_line( line, sizeof(line), stdin, "alias deref (0=never, 1=searching, 2=finding, 3=always)?" );
ld->ld_deref = atoi( line );
getline( line, sizeof(line), stdin, "timelimit?" );
get_line( line, sizeof(line), stdin, "timelimit?" );
ld->ld_timelimit = atoi( line );
getline( line, sizeof(line), stdin, "sizelimit?" );
get_line( line, sizeof(line), stdin, "sizelimit?" );
ld->ld_sizelimit = atoi( line );
LDAP_BOOL_ZERO(&ld->ld_options);
getline( line, sizeof(line), stdin,
get_line( line, sizeof(line), stdin,
"Recognize and chase referrals (0=no, 1=yes)?" );
if ( atoi( line ) != 0 ) {
LDAP_BOOL_SET(&ld->ld_options, LDAP_BOOL_REFERRALS);
getline( line, sizeof(line), stdin,
get_line( line, sizeof(line), stdin,
"Prompt for bind credentials when chasing referrals (0=no, 1=yes)?" );
if ( atoi( line ) != 0 ) {
ldap_set_rebind_proc( ld, bind_prompt, NULL );