diff -r 904b7747c223 sic.1
--- a/sic.1	Fri Aug 06 09:52:12 2010 +0100
+++ b/sic.1	Sun Dec 19 23:46:53 2010 -0800
@@ -6,6 +6,7 @@
 .RB [ \-h " <host>"]
 .RB [ \-p " <port>"]
 .RB [ \-n " <nick>"]
+.RB [ \-c " <#channel>"]
 .RB [ \-k " <keyword>"]
 .RB [ \-v ]
 .SH DESCRIPTION
@@ -28,6 +29,9 @@
 .B \-k <keyword>
 Specifies the keyword to authenticate your nick on the host
 .TP
+.B \-c <#channel>
+Specifies the channel to join.
+.TP
 .BI \-v
 Prints version information to standard output, then exits.
 .SH COMMANDS
diff -r 904b7747c223 sic.c
--- a/sic.c	Fri Aug 06 09:52:12 2010 +0100
+++ b/sic.c	Sun Dec 19 23:46:53 2010 -0800
@@ -9,7 +9,7 @@
 #include <unistd.h>
 
 static char *host = "irc.oftc.net";
-static char *port = "ircd";
+static char *port = "6667";
 static char *password;
 static char nick[32];
 static char bufin[4096];
@@ -136,6 +136,7 @@
 	int i, c;
 	struct timeval tv;
 	const char *user = getenv("USER");
+	char *chan = NULL;
 	fd_set rd;
 
 	strlcpy(nick, user ? user : "unknown", sizeof nick);
@@ -150,6 +151,9 @@
 		case 'p':
 			if(++i < argc) port = argv[i];
 			break;
+		case 'c':
+			if(++i < argc) chan = argv[i];
+			break;
 		case 'n':
 			if(++i < argc) strlcpy(nick, argv[i], sizeof nick);
 			break;
@@ -159,7 +163,7 @@
 		case 'v':
 			eprint("sic-"VERSION", © 2005-2009 Kris Maglione, Anselm R. Garbe, Nico Golde\n");
 		default:
-			eprint("usage: sic [-h host] [-p port] [-n nick] [-k keyword] [-v]\n");
+			eprint("usage: sic [-h host] [-p port] [-n nick] [-k keyword] [-c #channel] [-v]\n");
 		}
 	}
 	/* init */
@@ -170,6 +174,8 @@
 		sout("PASS %s", password);
 	sout("NICK %s", nick);
 	sout("USER %s localhost %s :%s", nick, host, nick);
+	if(chan)
+		sout("JOIN %s", chan);
 	fflush(srv);
 	setbuf(stdout, NULL);
 	setbuf(srv, NULL);
diff -r 904b7747c223 util.c
--- a/util.c	Fri Aug 06 09:52:12 2010 +0100
+++ b/util.c	Sun Dec 19 23:46:53 2010 -0800
@@ -21,12 +21,13 @@
 	static struct addrinfo hints;
 	int srv;
 	struct addrinfo *res, *r;
+	int err;
 
 	memset(&hints, 0, sizeof hints);
 	hints.ai_family = AF_UNSPEC;
 	hints.ai_socktype = SOCK_STREAM;
-	if(getaddrinfo(host, port, &hints, &res) != 0)
-		eprint("error: cannot resolve hostname '%s':", host);
+	if((err = getaddrinfo(host, port, &hints, &res)) != 0)
+		eprint("error: cannot resolve hostname '%s': %s\n", host, gai_strerror(err));
 	for(r = res; r; r = r->ai_next) {
 		if((srv = socket(r->ai_family, r->ai_socktype, r->ai_protocol)) == -1)
 			continue;
