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 " "] .RB [ \-p " "] .RB [ \-n " "] +.RB [ \-c " <#channel>"] .RB [ \-k " "] .RB [ \-v ] .SH DESCRIPTION @@ -28,6 +29,9 @@ .B \-k 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 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;