@@ -248,7 +248,7 @@ static void _outputText( char *p )
248248 if ( !_r .inLine )
249249 {
250250 _printTimestamp ( opConstruct );
251- genericsPrintf ( "%s" , opConstruct );
251+ genericsFPrintf ( stdout , "%s" , opConstruct );
252252 _r .inLine = true;
253253 }
254254
@@ -258,21 +258,21 @@ static void _outputText( char *p )
258258 if ( q )
259259 {
260260 * q = 0 ;
261- genericsPrintf ( "%s" EOL , p );
261+ genericsFPrintf ( stdout , "%s" EOL , p );
262262 /* Once we've output these data then we're not in a line any more */
263263 _r .inLine = false;
264264
265265 /* ...and if there were any DWT messages to print we'd better output those */
266266 if ( _r .dwtText [0 ] )
267267 {
268- genericsPrintf ( "%s" EOL , _r .dwtText );
268+ genericsFPrintf ( stdout , "%s" EOL , _r .dwtText );
269269 _r .dwtText [0 ] = 0 ;
270270 }
271271 }
272272 else
273273 {
274274 /* Just output the whole of the data we've got, then we're done */
275- genericsPrintf ( "%s" , p );
275+ genericsFPrintf ( stdout , "%s" , p );
276276 break ;
277277 }
278278
@@ -298,7 +298,7 @@ void _expex( const char *fmt, ... )
298298 /* See if we exceeded max length...if so then output what we have and start a fresh buffer */
299299 if ( MAX_STRING_LENGTH - strlen ( _r .dwtText ) < 100 )
300300 {
301- genericsPrintf ( "%s" , _r .dwtText );
301+ genericsFPrintf ( stdout , "%s" , _r .dwtText );
302302 _r .dwtText [0 ] = 0 ;
303303 }
304304
@@ -312,7 +312,7 @@ void _expex( const char *fmt, ... )
312312
313313 if ( !_r .inLine )
314314 {
315- genericsPrintf ( "%s" , _r .dwtText );
315+ genericsFPrintf ( stdout , "%s" , _r .dwtText );
316316 _r .dwtText [0 ] = 0 ;
317317 }
318318}
@@ -551,30 +551,30 @@ static void _itmPumpProcess( char c )
551551static void _printHelp ( const char * const progName )
552552
553553{
554- genericsPrintf ( "Usage: %s [options]" EOL , progName );
555- genericsPrintf ( " -c, --channel: <Number>,<Format> of channel to add into output stream (repeat per channel)" EOL );
556- genericsPrintf ( " -C, --cpufreq: <Frequency in KHz> (Scaled) speed of the CPU" EOL
557- " generally /1, /4, /16 or /64 of the real CPU speed," EOL );
558- genericsPrintf ( " -E, --eof: Terminate when the file/socket ends/is closed, or wait for more/reconnect" EOL );
559- genericsPrintf ( " -f, --input-file: <filename> Take input from specified file" EOL );
560- genericsPrintf ( " -g, --trigger: <char> to use to trigger timestamp (default is newline)" EOL );
561- genericsPrintf ( " -h, --help: This help" EOL );
562- genericsPrintf ( " -n, --itm-sync: Enforce sync requirement for ITM (i.e. ITM needs to issue syncs)" EOL );
563- genericsPrintf ( " -p, --protocol: Protocol to communicate. Defaults to OFLOW if -s is not set, otherwise ITM" EOL );
564- genericsPrintf ( " -s, --server: <Server>:<Port> to use" EOL );
565- genericsPrintf ( " -t, --tag: <stream>: Which orbflow tag to use (normally 1)" EOL );
566- genericsPrintf ( " -T, --timestamp: <a|r|d|s|t>: Add absolute, relative (to session start)," EOL
567- " delta, system timestamp or system timestamp delta to output. Note" EOL
568- " the accuracy of a,r & d are host dependent." EOL );
569- genericsPrintf ( " -v, --verbose: <level> Verbose mode 0(errors)..3(debug)" EOL );
570- genericsPrintf ( " -V, --version: Print version and exit" EOL );
571- genericsPrintf ( " -x, --exceptions: Include exception information in output, in time order" EOL );
554+ genericsFPrintf ( stderr , "Usage: %s [options]" EOL , progName );
555+ genericsFPrintf ( stderr , " -c, --channel: <Number>,<Format> of channel to add into output stream (repeat per channel)" EOL );
556+ genericsFPrintf ( stderr , " -C, --cpufreq: <Frequency in KHz> (Scaled) speed of the CPU" EOL
557+ " generally /1, /4, /16 or /64 of the real CPU speed," EOL );
558+ genericsFPrintf ( stderr , " -E, --eof: Terminate when the file/socket ends/is closed, or wait for more/reconnect" EOL );
559+ genericsFPrintf ( stderr , " -f, --input-file: <filename> Take input from specified file" EOL );
560+ genericsFPrintf ( stderr , " -g, --trigger: <char> to use to trigger timestamp (default is newline)" EOL );
561+ genericsFPrintf ( stderr , " -h, --help: This help" EOL );
562+ genericsFPrintf ( stderr , " -n, --itm-sync: Enforce sync requirement for ITM (i.e. ITM needs to issue syncs)" EOL );
563+ genericsFPrintf ( stderr , " -p, --protocol: Protocol to communicate. Defaults to OFLOW if -s is not set, otherwise ITM" EOL );
564+ genericsFPrintf ( stderr , " -s, --server: <Server>:<Port> to use" EOL );
565+ genericsFPrintf ( stderr , " -t, --tag: <stream>: Which orbflow tag to use (normally 1)" EOL );
566+ genericsFPrintf ( stderr , " -T, --timestamp: <a|r|d|s|t>: Add absolute, relative (to session start)," EOL
567+ " delta, system timestamp or system timestamp delta to output. Note" EOL
568+ " the accuracy of a,r & d are host dependent." EOL );
569+ genericsFPrintf ( stderr , " -v, --verbose: <level> Verbose mode 0(errors)..3(debug)" EOL );
570+ genericsFPrintf ( stderr , " -V, --version: Print version and exit" EOL );
571+ genericsFPrintf ( stderr , " -x, --exceptions: Include exception information in output, in time order" EOL );
572572}
573573// ====================================================================================================
574574static void _printVersion ( void )
575575
576576{
577- genericsPrintf ( "orbcat version " GIT_DESCRIBE EOL );
577+ genericsFPrintf ( stderr , "orbcat version " GIT_DESCRIBE EOL );
578578}
579579// ====================================================================================================
580580static struct option _longOptions [] =
@@ -991,7 +991,7 @@ static void _feedStream( struct Stream *stream )
991991 /* Check if an exception report timed out */
992992 if ( ( _r .inLine ) && _r .dwtText [0 ] && ( _timestamp () - _r .dwtte > DWT_TO_US ) )
993993 {
994- genericsPrintf ( EOL "%s" , _r .dwtText );
994+ genericsFPrintf ( stderr , EOL "%s" , _r .dwtText );
995995 _r .dwtText [0 ] = 0 ;
996996 _r .inLine = false;
997997 }
0 commit comments