mirror of
https://github.com/transmission/transmission
synced 2025-03-09 13:50:00 +00:00
Make message level available to message handler callback.
This commit is contained in:
parent
0caa326038
commit
69f43ff729
2 changed files with 10 additions and 14 deletions
|
@ -66,9 +66,9 @@ tr_handle_t * tr_init();
|
|||
* Sets the function used to display libtransmission messages. This
|
||||
* function must be reentrant, it may be called from different threads.
|
||||
* A NULL argument means to print messages to stderr. The function's
|
||||
* prototype should look like this: void myErrFunc( const char * );
|
||||
* prototype should look like this: void myMsgFunc( int, const char * );
|
||||
**********************************************************************/
|
||||
void tr_setMessageFunction( void (*func)( const char * ) );
|
||||
void tr_setMessageFunction( void (*func)( int, const char * ) );
|
||||
|
||||
/***********************************************************************
|
||||
* tr_setMessageLevel
|
||||
|
@ -77,7 +77,7 @@ void tr_setMessageFunction( void (*func)( const char * ) );
|
|||
**********************************************************************/
|
||||
#define TR_MSG_ERR 1
|
||||
#define TR_MSG_INF 2
|
||||
#define TR_MSG_DBG 4
|
||||
#define TR_MSG_DBG 3
|
||||
void tr_setMessageLevel( int );
|
||||
int tr_getMessageLevel( void );
|
||||
|
||||
|
|
|
@ -24,18 +24,18 @@
|
|||
|
||||
#include "transmission.h"
|
||||
|
||||
static void (*messageFunc)( const char * );
|
||||
static void (*messageFunc)( int, const char * );
|
||||
|
||||
static int verboseLevel = 0;
|
||||
|
||||
void tr_setMessageFunction( void (*func)( const char * ) )
|
||||
void tr_setMessageFunction( void (*func)( int, const char * ) )
|
||||
{
|
||||
messageFunc = func;
|
||||
}
|
||||
|
||||
void tr_setMessageLevel( int level )
|
||||
{
|
||||
verboseLevel = level;
|
||||
verboseLevel = MAX( 0, level );
|
||||
}
|
||||
|
||||
int tr_getMessageLevel( void )
|
||||
|
@ -52,15 +52,11 @@ void tr_msg( int level, char * msg, ... )
|
|||
{
|
||||
char * env;
|
||||
env = getenv( "TR_DEBUG" );
|
||||
verboseLevel = env ? atoi( env ) : -1;
|
||||
verboseLevel = verboseLevel ? verboseLevel : -1;
|
||||
verboseLevel = ( env ? atoi( env ) : 0 ) + 1;
|
||||
verboseLevel = MAX( 1, verboseLevel );
|
||||
}
|
||||
|
||||
if( verboseLevel < 1 && level > TR_MSG_ERR )
|
||||
{
|
||||
return;
|
||||
}
|
||||
if( verboseLevel < 2 && level > TR_MSG_INF )
|
||||
if( verboseLevel < level )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@ -75,7 +71,7 @@ void tr_msg( int level, char * msg, ... )
|
|||
}
|
||||
else
|
||||
{
|
||||
messageFunc( string );
|
||||
messageFunc( level, string );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue