12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- /* $OpenLDAP$ */
- /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
- *
- * Copyright 1998-2024 The OpenLDAP Foundation.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted only as authorized by the OpenLDAP
- * Public License.
- *
- * A copy of this license is available in the file LICENSE in the
- * top-level directory of the distribution or, alternatively, at
- * <http://www.OpenLDAP.org/license.html>.
- */
- #include "portable.h"
- #include <stdio.h>
- #include <ac/stdarg.h>
- #include <ac/stdlib.h>
- #include <ac/string.h>
- #include <ac/time.h>
- #include <ac/ctype.h>
- #ifdef LDAP_SYSLOG
- #include <ac/syslog.h>
- #endif
- #include "ldap_log.h"
- #include "ldap_defaults.h"
- #include "lber.h"
- #include "ldap_pvt.h"
- int lutil_debug_file( FILE *file )
- {
- ber_set_option( NULL, LBER_OPT_LOG_PRINT_FILE, file );
- return 0;
- }
- void (lutil_debug)( int debug, int level, const char *fmt, ... )
- {
- char buffer[4096];
- va_list vl;
- int len;
- if ( !(level & debug ) ) return;
- va_start( vl, fmt );
- len = vsnprintf( buffer, sizeof(buffer), fmt, vl );
- va_end( vl );
- if ( len >= sizeof(buffer)-2 )
- buffer[sizeof(buffer)-2] = '\n';
- ber_pvt_log_print( buffer );
- }
- #if defined(HAVE_EBCDIC) && defined(LDAP_SYSLOG)
- #undef syslog
- void eb_syslog( int pri, const char *fmt, ... )
- {
- char buffer[4096];
- va_list vl;
- va_start( vl, fmt );
- vsnprintf( buffer, sizeof(buffer), fmt, vl );
- buffer[sizeof(buffer)-1] = '\0';
- /* The syslog function appears to only work with pure EBCDIC */
- __atoe(buffer);
- #pragma convlit(suspend)
- syslog( pri, "%s", buffer );
- #pragma convlit(resume)
- va_end( vl );
- }
- #endif
|