From 8a0085b05204cce0069aef9e206b81c9ee11dc83 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Thu, 29 Sep 2016 13:57:34 +0200 Subject: added non-default SSH port to be shown with --tagging --- src/cssh.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/cssh.c b/src/cssh.c index 486ed16..dddbaeb 100644 --- a/src/cssh.c +++ b/src/cssh.c @@ -510,7 +510,7 @@ static const char *buffer_contains_a_line( const char *buffer, size_t bufsize ) return NULL; } -static ssize_t output_buffer( FILE *f, const char *host, const char *buffer, const size_t bufsize, const bool tagging ) +static ssize_t output_buffer( FILE *f, const char *host, const unsigned short port, const char *buffer, const size_t bufsize, const bool tagging ) { const char *b = buffer; size_t bsize = bufsize; @@ -518,7 +518,12 @@ static ssize_t output_buffer( FILE *f, const char *host, const char *buffer, con const char *p; while( ( b < buffer + bufsize ) && ( p = buffer_contains_a_line( b, bsize ) ) != NULL) { if( tagging ) { - fprintf( f, "[%s]: ", host ); fflush( f ); + if( port != 22 ) { + fprintf( f, "[%s:%d]: ", host, port ); + } else { + fprintf( f, "[%s]: ", host ); + } + fflush( f ); } ssize_t n = p - b; @@ -1038,7 +1043,7 @@ int main( int argc, char *argv[] ) } if( nread > 0 ) { - ssize_t wrc = output_buffer( stdout, host[i], ssh_data[i].stdout_buf, nread + ( ssh_data[i].stdout_bptr - ssh_data[i].stdout_buf ), args_info.tagging_given ); + ssize_t wrc = output_buffer( stdout, host[i], port[i], ssh_data[i].stdout_buf, nread + ( ssh_data[i].stdout_bptr - ssh_data[i].stdout_buf ), args_info.tagging_given ); if( wrc < 0 ) { fprintf( stderr, "ERROR: while writing to stdout: %s\n", strerror( errno ) ); @@ -1070,7 +1075,7 @@ int main( int argc, char *argv[] ) } if( nread > 0 ) { - ssize_t wrc = output_buffer( stderr, host[i], ssh_data[i].stderr_buf, nread + ( ssh_data[i].stderr_bptr - ssh_data[i].stderr_buf ), args_info.tagging_given ); + ssize_t wrc = output_buffer( stderr, host[i], port[i], ssh_data[i].stderr_buf, nread + ( ssh_data[i].stderr_bptr - ssh_data[i].stderr_buf ), args_info.tagging_given ); if( wrc < 0 ) { fprintf( stderr, "ERROR: while writting to stderr: %s\n", strerror( errno ) ); -- cgit v1.2.3-54-g00ecf