if compiling without -DDEBUG, make LogDebug 'static inline' so gcc optimizes it away.

This commit is contained in:
Florian Westphal 2006-08-05 09:16:21 +00:00
parent 7378860aea
commit 83caef4598
2 changed files with 12 additions and 15 deletions

View File

@ -14,7 +14,7 @@
#include "portab.h" #include "portab.h"
static char UNUSED id[] = "$Id: log.c,v 1.61 2006/07/23 23:23:45 alex Exp $"; static char UNUSED id[] = "$Id: log.c,v 1.62 2006/08/05 09:16:21 fw Exp $";
#include "imp.h" #include "imp.h"
#include <assert.h> #include <assert.h>
@ -166,25 +166,21 @@ Log_Exit( void )
* Log function for debug messages. * Log function for debug messages.
* This function is only functional when the program is compiled with debug * This function is only functional when the program is compiled with debug
* code enabled; otherwise it is an empty function which the compiler will * code enabled; otherwise it is an empty function which the compiler will
* hopefully mangle down to "nothing". Therefore you should use LogDebug(...) * hopefully mangle down to "nothing" (see log.h). Therefore you should use
* in favor to Log(LOG_DEBUG, ...). * LogDebug(...) in favor to Log(LOG_DEBUG, ...).
* @param Format Format string like printf(). * @param Format Format string like printf().
* @param ... Further arguments. * @param ... Further arguments.
*/ */
#ifdef DEBUG
# ifdef PROTOTYPES # ifdef PROTOTYPES
GLOBAL void GLOBAL void
#ifdef DEBUG
LogDebug( const char *Format, ... ) LogDebug( const char *Format, ... )
#else
LogDebug( UNUSED const char *Format, ... )
#endif /* DEBUG */
# else # else
GLOBAL void GLOBAL void
LogDebug( Format, va_alist ) LogDebug( Format, va_alist )
const char *Format; const char *Format;
va_dcl va_dcl
# endif /* PROTOTYPES */ # endif /* PROTOTYPES */
#ifdef DEBUG
{ {
char msg[MAX_LOG_MSG_LEN]; char msg[MAX_LOG_MSG_LEN];
va_list ap; va_list ap;
@ -199,11 +195,6 @@ va_dcl
va_end( ap ); va_end( ap );
Log(LOG_DEBUG, "%s", msg); Log(LOG_DEBUG, "%s", msg);
} }
#else
{
/* Do nothing.
* The compiler should optimize this out, please ;-) */
}
#endif /* DEBUG */ #endif /* DEBUG */

View File

@ -8,7 +8,7 @@
* (at your option) any later version. * (at your option) any later version.
* Please read the file COPYING, README and AUTHORS for more information. * Please read the file COPYING, README and AUTHORS for more information.
* *
* $Id: log.h,v 1.19 2006/02/08 17:33:28 fw Exp $ * $Id: log.h,v 1.20 2006/08/05 09:16:21 fw Exp $
* *
* Logging functions (header) * Logging functions (header)
*/ */
@ -39,7 +39,13 @@ GLOBAL void Log_Init PARAMS(( bool Daemon_Mode ));
GLOBAL void Log_Exit PARAMS(( void )); GLOBAL void Log_Exit PARAMS(( void ));
GLOBAL void Log PARAMS(( int Level, const char *Format, ... )); GLOBAL void Log PARAMS(( int Level, const char *Format, ... ));
#ifdef DEBUG
GLOBAL void LogDebug PARAMS(( const char *Format, ... )); GLOBAL void LogDebug PARAMS(( const char *Format, ... ));
#else
static inline void LogDebug PARAMS(( UNUSED const char *Format, ... )){/* Do nothing. The compiler should optimize this out, please ;-) */}
#endif
GLOBAL void Log_Init_Resolver PARAMS(( void )); GLOBAL void Log_Init_Resolver PARAMS(( void ));
GLOBAL void Log_Exit_Resolver PARAMS(( void )); GLOBAL void Log_Exit_Resolver PARAMS(( void ));