diff --git a/channels.c b/channels.c
index d343ac8..d8c7e12 100644
--- a/channels.c
+++ b/channels.c
@@ -704,7 +704,7 @@
 		int err = 0;
 		int sz = sizeof(err);
 		c->type = SSH_CHANNEL_OPEN;
-                if (getsockopt(c->sock, SOL_SOCKET, SO_ERROR, (char *)&err, &sz) < 0) {
+		if (getsockopt(c->sock, SOL_SOCKET, SO_ERROR, (char *)&err, &sz) < 0) {
 			debug("getsockopt SO_ERROR failed");
 		} else {
 			if (err == 0) {
@@ -1553,7 +1553,7 @@
 
 	if (remote_fwd) {
 		host = listen_address;
-	    	ctype = SSH_CHANNEL_RPORT_LISTENER;
+		ctype = SSH_CHANNEL_RPORT_LISTENER;
 	} else {
 		host = host_to_connect;
 		ctype  =SSH_CHANNEL_PORT_LISTENER;
@@ -1608,7 +1608,7 @@
 				error("bind: %.100s", strerror(errno));
 			else
 				verbose("bind: %.100s", strerror(errno));
-				
+
 			close(sock);
 			continue;
 		}
@@ -1762,14 +1762,14 @@
 			error("connect %.100s port %s: %.100s", ntop, strport,
 			    strerror(errno));
 			close(sock);
-			continue;	/* fail -- try next */	
+			continue;	/* fail -- try next */
 		}
 		break; /* success */
 
 	}
 	freeaddrinfo(aitop);
 	if (!ai) {
-		error("connect %.100s port %d: failed.", host, host_port);	
+		error("connect %.100s port %d: failed.", host, host_port);
 		return -1;
 	}
 	/* success */
@@ -1954,7 +1954,7 @@
 		fatal("gethostname: %.100s", strerror(errno));
 
 #ifdef IPADDR_IN_DISPLAY
-	/* 
+	/*
 	 * HPUX detects the local hostname in the DISPLAY variable and tries
 	 * to set up a shared memory connection to the server, which it
 	 * incorrectly supposes to be local.
@@ -1983,7 +1983,7 @@
 		memcpy(&my_addr, he->h_addr_list[0], sizeof(struct in_addr));
 
 		/* Set DISPLAY to <ip address>:screen.display */
-		snprintf(display, sizeof(display), "%.50s:%d.%d", inet_ntoa(my_addr), 
+		snprintf(display, sizeof(display), "%.50s:%d.%d", inet_ntoa(my_addr),
 			 display_number, screen_number);
 	}
 #else /* IPADDR_IN_DISPLAY */
@@ -2501,7 +2501,7 @@
 	}
 	c->dettach_user = NULL;
 }
-void   
+void
 channel_register_filter(int id, channel_filter_fn *fn)
 {
 	Channel *c = channel_lookup(id);
