#include "platform.h" /* tr_lock */
#include "utils.h"
-#define dbgmsg( ... ) tr_deepLog( __FILE__, __LINE__, NULL, __VA_ARGS__ )
+#define dbgmsg( ... ) \
+ do { \
+ if( tr_deepLoggingIsActive( ) ) \
+ tr_deepLog( __FILE__, __LINE__, NULL, __VA_ARGS__ ); \
+ } while( 0 )
/**
***
***
**/
-#define dbgmsg( handshake, ... ) tr_deepLog(\
- __FILE__, __LINE__, tr_peerIoGetAddrStr( handshake->io ), __VA_ARGS__ )
+#define dbgmsg( handshake, ... ) \
+ do { \
+ if( tr_deepLoggingIsActive( ) ) \
+ tr_deepLog( __FILE__, __LINE__, tr_peerIoGetAddrStr( handshake->io ), __VA_ARGS__ ); \
+ } while( 0 )
static const char*
getStateName( short state )
**/
#define dbgmsg( io, ... ) \
- tr_deepLog( __FILE__, __LINE__, tr_peerIoGetAddrStr( io ), __VA_ARGS__ )
+ do { \
+ if( tr_deepLoggingIsActive( ) ) \
+ tr_deepLog( __FILE__, __LINE__, tr_peerIoGetAddrStr( io ), __VA_ARGS__ ); \
+ } while( 0 )
struct tr_bandwidth
{
};
#define tordbg( t, ... ) \
- tr_deepLog( __FILE__, __LINE__, t->tor->info.name, __VA_ARGS__ )
+ do { \
+ if( tr_deepLoggingIsActive( ) ) \
+ tr_deepLog( __FILE__, __LINE__, t->tor->info.name, __VA_ARGS__ ); \
+ } while( 0 )
#define dbgmsg( ... ) \
- tr_deepLog( __FILE__, __LINE__, NULL, __VA_ARGS__ )
+ do { \
+ if( tr_deepLoggingIsActive( ) ) \
+ tr_deepLog( __FILE__, __LINE__, NULL, __VA_ARGS__ ); \
+ } while( 0 )
/**
***
const uint32_t length = tr_torBlockCountBytes( tor, block );
assert( tr_torrentReqIsValid( tor, index, offset, length ) );
- assert( _tr_block( tor, index, offset ) == block );
assert( offset < tr_torPieceCountBytes( tor, index ) );
assert( (offset + length) <= tr_torPieceCountBytes( tor, index ) );
char * whitelist;
};
-#define dbgmsg( ... ) tr_deepLog( __FILE__, __LINE__, MY_NAME, __VA_ARGS__ )
+#define dbgmsg( ... ) \
+ do { \
+ if( tr_deepLoggingIsActive( ) ) \
+ tr_deepLog( __FILE__, __LINE__, MY_NAME, __VA_ARGS__ ); \
+ } while( 0 )
+
/**
***
#define SHUTDOWN_MAX_SECONDS 30
-#define dbgmsg( ... ) tr_deepLog( __FILE__, __LINE__, NULL, __VA_ARGS__ )
+#define dbgmsg( ... ) \
+ do { \
+ if( tr_deepLoggingIsActive( ) ) \
+ tr_deepLog( __FILE__, __LINE__, NULL, __VA_ARGS__ ); \
+ } while( 0 )
void
tr_sessionClose( tr_handle * session )
uint32_t offset,
uint32_t length );
-void tr_torrentInitFilePriority( tr_torrent * tor,
- tr_file_index_t fileIndex,
- tr_priority_t priority );
+void tr_torrentInitFilePriority( tr_torrent * tor,
+ tr_file_index_t fileIndex,
+ tr_priority_t priority );
int tr_torrentCountUncheckedPieces( const tr_torrent * );
-int tr_torrentIsPieceChecked( const tr_torrent *,
- tr_piece_index_t piece );
+int tr_torrentIsPieceChecked( const tr_torrent * tor,
+ tr_piece_index_t piece );
-int tr_torrentIsFileChecked( const tr_torrent *,
- tr_file_index_t file );
+int tr_torrentIsFileChecked( const tr_torrent * tor,
+ tr_file_index_t file );
-void tr_torrentSetPieceChecked(
- tr_torrent *,
- tr_piece_index_t piece,
- int isChecked );
+void tr_torrentSetPieceChecked( tr_torrent * tor,
+ tr_piece_index_t piece,
+ int isChecked );
-void tr_torrentSetFileChecked(
- tr_torrent *,
- tr_file_index_t
- file,
- int
- isChecked );
+void tr_torrentSetFileChecked( tr_torrent * tor,
+ tr_file_index_t file,
+ int isChecked );
-void tr_torrentUncheck( tr_torrent * );
+void tr_torrentUncheck( tr_torrent * tor );
-int tr_torrentPromoteTracker( tr_torrent *,
- int trackerIndex );
+int tr_torrentPromoteTracker( tr_torrent * tor,
+ int trackerIndex );
-time_t* tr_torrentGetMTimes( const tr_torrent *,
- size_t * setmeCount );
+time_t* tr_torrentGetMTimes( const tr_torrent * tor,
+ size_t * setmeCount );
typedef enum
{
long lastAnnounceResponse;
};
-#define dbgmsg( name, ... ) tr_deepLog( __FILE__, __LINE__, name, __VA_ARGS__ )
+#define dbgmsg( name, ... ) \
+ do { \
+ if( tr_deepLoggingIsActive( ) ) \
+ tr_deepLog( __FILE__, __LINE__, name, __VA_ARGS__ ); \
+ } while( 0 )
/***
****
void * user_data;
};
-#define dbgmsg( ... ) tr_deepLog( __FILE__, __LINE__, "event", __VA_ARGS__ )
+#define dbgmsg( ... ) \
+ do { \
+ if( tr_deepLoggingIsActive( ) ) \
+ tr_deepLog( __FILE__, __LINE__, "event", __VA_ARGS__ ); \
+ } while( 0 )
static void
readFromPipe( int fd,
return buf;
}
+int
+tr_deepLoggingIsActive( void )
+{
+ return IsDebuggerPresent() || (tr_getLog()!=NULL);
+}
+
void
-tr_deepLog( const char * file,
- int line,
- const char * name,
- const char * fmt,
+tr_deepLog( const char * file,
+ int line,
+ const char * name,
+ const char * fmt,
... )
{
FILE * fp = tr_getLog( );
FILE* tr_getLog( void );
+int tr_deepLoggingIsActive( void );
+
void tr_deepLog( const char * file,
int line,
const char * name,
/* arbitrary number */
#define DEFAULT_TIMER_MSEC 2000
-#define dbgmsg( ... ) tr_deepLog( __FILE__, __LINE__, "web", __VA_ARGS__ )
+#define dbgmsg( ... ) \
+ do { \
+ if( tr_deepLoggingIsActive( ) ) \
+ tr_deepLog( __FILE__, __LINE__, "web", __VA_ARGS__ ); \
+ } while( 0 )
/* #define dbgmsg(...) \
do { fprintf( stderr, __VA_ARGS__ ); fprintf( stderr, "\n" ); } while( 0 ) */