From 283f79c2688bc08d6e79c3b74987ce51a0127ed5 Mon Sep 17 00:00:00 2001 From: Pierangelo Masarati Date: Fri, 16 Dec 2005 12:18:55 +0000 Subject: [PATCH] improve previous commit (one line, use buffer and truncate if required) --- libraries/libldap/search.c | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/libraries/libldap/search.c b/libraries/libldap/search.c index 57647d92f1..6798f7830f 100644 --- a/libraries/libldap/search.c +++ b/libraries/libldap/search.c @@ -300,18 +300,27 @@ ldap_build_search_req( #ifdef LDAP_DEBUG if ( ldap_debug & LDAP_DEBUG_ARGS ) { - if ( attrs == NULL ) { - Debug( LDAP_DEBUG_ARGS, "ldap_build_search_req ATTRS: *\n", 0, 0, 0 ); - - } else { - int i; + char buf[ BUFSIZ ] = { ' ', '*', '\0' }; - Debug( LDAP_DEBUG_ARGS, "ldap_build_search_req ATTRS:\n", 0, 0, 0 ); + if ( attrs != NULL ) { + char *ptr; + int i; - for ( i = 0; attrs[ i ]; i++ ) { - Debug( LDAP_DEBUG_ARGS, " %s\n", attrs[ i ], 0, 0 ); + for ( ptr = buf, i = 0; + attrs[ i ] != NULL && ptr < &buf[ sizeof( buf ) ]; + i++ ) + { + ptr += snprintf( ptr, sizeof( buf ) - ( ptr - buf ), + " %s", attrs[ i ] ); } + + if ( ptr >= &buf[ sizeof( buf ) ] ) { + AC_MEMCPY( &buf[ sizeof( buf ) - STRLENOF( "...(truncated)" ) - 1 ], + "...(truncated)", STRLENOF( "...(truncated)" ) + 1 ); + } } + + Debug( LDAP_DEBUG_ARGS, "ldap_build_search_req ATTRS:%s\n", buf, 0, 0 ); } #endif /* LDAP_DEBUG */ -- 2.39.5