diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2016-09-29 13:57:34 +0200 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2016-09-29 13:57:34 +0200 |
commit | 8a0085b05204cce0069aef9e206b81c9ee11dc83 (patch) | |
tree | dd37e40ef8000ab4216fc3b9f30c4302821265f7 | |
parent | 4719aa7b298ddd3f72c615284ccf9d29adf9fce3 (diff) | |
download | cssh-8a0085b05204cce0069aef9e206b81c9ee11dc83.tar.gz cssh-8a0085b05204cce0069aef9e206b81c9ee11dc83.tar.bz2 |
added non-default SSH port to be shown with --tagging
-rw-r--r-- | src/cssh.c | 13 |
1 files changed, 9 insertions, 4 deletions
@@ -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 ) ); |