]> git.sur5r.net Git - openldap/blob - libraries/liblutil/debug.c
Fix typo in lutil_debug_file()
[openldap] / libraries / liblutil / debug.c
1 /*
2  * Copyright 1998-1999 The OpenLDAP Foundation, All Rights Reserved.
3  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
4  */
5 /*
6  * Copyright (c) 1996, 1998 by Internet Software Consortium.
7  *
8  * Permission to use, copy, modify, and distribute this software for any
9  * purpose with or without fee is hereby granted, provided that the above
10  * copyright notice and this permission notice appear in all copies.
11  *
12  * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
13  * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
14  * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
15  * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
18  * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
19  * SOFTWARE.
20  */
21
22 #include "portable.h"
23
24 #include <stdio.h>
25
26 #include <ac/stdarg.h>
27 #include <ac/string.h>
28
29 #include "ldap_log.h"
30 #include "ldap_defaults.h"
31
32 static FILE *log_file;
33
34 int lutil_debug_file( FILE *file )
35 {
36         log_file = file;
37
38         return 0;
39 }
40
41 void (lutil_debug)( int level, int debug, const char *fmt, ... )
42 {
43         char buffer[4096];
44         va_list vl;
45
46         if ( !(level & debug ) )
47                 return;
48
49 #ifdef HAVE_WINSOCK
50         if( log_file == NULL )
51     {
52                 log_file = fopen( LDAP_RUNDIR LDAP_DIRSEP "openldap.log", "w" );
53
54         if ( log_file == NULL )
55                         log_file = fopen( "openldap.log", "w" );
56
57                 if ( log_file == NULL )
58                         return;
59         }
60 #endif
61
62         va_start( vl, fmt );
63
64 #ifdef HAVE_VSNPRINTF
65         vsnprintf( buffer, sizeof(buffer), fmt, vl );
66 #else
67         vsprintf( buffer, fmt, vl );
68 #endif
69         buffer[sizeof(buffer)-1] = '\0';
70
71         if( log_file != NULL ) {
72                 fputs( buffer, log_file );
73                 fflush( log_file );
74         }
75
76     fputs( buffer, stderr );
77         va_end( vl );
78 }