Avoid formatting debug message uselessly
diff --git a/include/polarssl/debug.h b/include/polarssl/debug.h
index 2dd89a2..406cfa8 100644
--- a/include/polarssl/debug.h
+++ b/include/polarssl/debug.h
@@ -57,7 +57,10 @@
#define SSL_DEBUG_MSG( level, args ) \
- debug_print_msg_free( ssl, level, __FILE__, __LINE__, debug_fmt args );
+ do { \
+ if( level <= debug_threshold ) \
+ debug_print_msg_free( ssl, level, __FILE__, __LINE__, debug_fmt args ); \
+ } while( 0 )
#define SSL_DEBUG_RET( level, text, ret ) \
debug_print_ret( ssl, level, __FILE__, __LINE__, text, ret );
@@ -147,6 +150,8 @@
const char *text, const x509_crt *crt );
#endif
+extern int debug_threshold;
+
#ifdef __cplusplus
}
#endif
diff --git a/library/debug.c b/library/debug.c
index 753fc0f..d23e87b 100644
--- a/library/debug.c
+++ b/library/debug.c
@@ -55,7 +55,7 @@
#define DEBUG_BUF_SIZE 512
static int debug_log_mode = POLARSSL_DEBUG_DFL_MODE;
-static int debug_threshold = 0;
+int debug_threshold = 0;
void debug_set_log_mode( int log_mode )
{
@@ -73,7 +73,7 @@
char *str = polarssl_malloc( DEBUG_BUF_SIZE );
if( str == NULL )
- return;
+ return( NULL );
va_start( argp, format );
vsnprintf( str, DEBUG_BUF_SIZE - 1, format, argp );