summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2016-09-29 13:57:34 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2016-09-29 13:57:34 +0200
commit8a0085b05204cce0069aef9e206b81c9ee11dc83 (patch)
treedd37e40ef8000ab4216fc3b9f30c4302821265f7
parent4719aa7b298ddd3f72c615284ccf9d29adf9fce3 (diff)
downloadcssh-8a0085b05204cce0069aef9e206b81c9ee11dc83.tar.gz
cssh-8a0085b05204cce0069aef9e206b81c9ee11dc83.tar.bz2
added non-default SSH port to be shown with --tagging
-rw-r--r--src/cssh.c13
1 files 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 ) );