/* get/set options for BerElement */
#define LBER_OPT_BER_OPTIONS 0x01
#define LBER_OPT_BER_DEBUG 0x02
+
#define LBER_OPT_DEBUG_LEVEL LBER_OPT_BER_DEBUG
+#define LBER_OPT_LOG_PRINT_FN 0x8001
+
+typedef void (*BER_LOG_PRINT_FN) LDAP_P(( char *buf ));
/* LBER Sockbuf options */
#define LBER_TO_FILE 0x01 /* to a file referenced by sb_fd */
* Print stuff
*/
static void
-lber_print_error( char *data )
+lber_error_print( char *data )
{
fputs( data, stderr );
fflush( stderr );
}
+BER_LOG_PRINT_FN lber_log_print = lber_error_print;
+
/*
* lber log
*/
va_end(ap);
- lber_print_error( buf );
+ (*lber_log_print)( buf );
return 1;
}
return 0;
}
- lber_print_error( buf );
+ (*lber_log_print)( buf );
return 1;
}
for ( ;; ) {
if ( len < 1 ) {
sprintf( buf, "\t%s\n", ( i == 0 ) ? "(end)" : out );
- lber_print_error( buf );
+ (*lber_log_print)( buf );
break;
}
if ( i > BPLEN - 2 ) {
char data[128 + BPLEN];
sprintf( data, "\t%s\n", out );
- lber_print_error(data);
+ (*lber_log_print)(data);
memset( out, 0, BPLEN );
i = 0;
continue;
(long) ber->ber_ptr,
(long) ber->ber_end );
- lber_print_error( buf );
+ (*lber_log_print)( buf );
if ( inout == 1 ) {
sprintf( buf, " current len %ld, contents:\n",
{
char buf[132];
- lber_print_error( "*** sos dump ***\n" );
+ (*lber_log_print)( "*** sos dump ***\n" );
while ( sos != NULLSEQORSET ) {
sprintf( buf, "ber_sos_dump: clen %ld first 0x%lx ptr 0x%lx\n",
(long) sos->sos_clen, (long) sos->sos_first, (long) sos->sos_ptr );
- lber_print_error( buf );
+ (*lber_log_print)( buf );
sprintf( buf, " current len %ld contents:\n",
(long) (sos->sos_ptr - sos->sos_first) );
- lber_print_error( buf );
+ (*lber_log_print)( buf );
ber_bprint( sos->sos_first, sos->sos_ptr - sos->sos_first );
sos = sos->sos_next;
}
- lber_print_error( "*** end dump ***\n" );
+ (*lber_log_print)( "*** end dump ***\n" );
}