Don't use sic's hg tip, it is broken atm...

This commit is contained in:
Anselm R. Garbe 2007-02-08 20:42:29 +01:00
parent e3cbbe71c2
commit a3abf3b3ef

28
sic.c
View File

@ -16,7 +16,7 @@
#define PINGTIMEOUT 300 #define PINGTIMEOUT 300
#define MAXMSG 4096 #define MAXMSG 4096
static char *server = "irc.oftc.net"; static char *host = "irc.oftc.net";
static unsigned short port = 6667; static unsigned short port = 6667;
static char *nick = NULL; static char *nick = NULL;
static char *fullname = NULL; static char *fullname = NULL;
@ -140,7 +140,7 @@ parsesrv(char *msg) {
return; return;
} }
snprintf(bufout, sizeof bufout, "-!- %s", cmd); snprintf(bufout, sizeof bufout, "-!- %s", cmd);
pout(server, bufout); pout(host, bufout);
} }
int int
@ -154,8 +154,8 @@ main(int argc, char *argv[]) {
nick = fullname = getenv("USER"); nick = fullname = getenv("USER");
for(i = 1; i < argc; i++) for(i = 1; i < argc; i++)
if(!strncmp(argv[i], "-s", 3)) { if(!strncmp(argv[i], "-h", 3)) {
if(++i < argc) server = argv[i]; if(++i < argc) host = argv[i];
} }
else if(!strncmp(argv[i], "-p", 3)) { else if(!strncmp(argv[i], "-p", 3)) {
if(++i < argc) port = (unsigned short)atoi(argv[i]); if(++i < argc) port = (unsigned short)atoi(argv[i]);
@ -174,18 +174,18 @@ main(int argc, char *argv[]) {
exit(EXIT_SUCCESS); exit(EXIT_SUCCESS);
} }
else { else {
fputs("usage: sic [-s server] [-p port] [-n nick]" fputs("usage: sic [-h host] [-p port] [-n nick]"
" [-k keyword] [-f fullname] [-v]\n", stderr); " [-k keyword] [-f fullname] [-v]\n", stderr);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
/* init */ /* init */
if((srv = socket(AF_INET, SOCK_STREAM, 0)) < 0) { if((srv = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
fprintf(stderr, "sic: cannot connect server '%s'\n", server); fprintf(stderr, "sic: cannot connect host '%s'\n", host);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
if (NULL == (hp = gethostbyname(server))) { if (NULL == (hp = gethostbyname(host))) {
fprintf(stderr, "sic: cannot resolve hostname '%s'\n", server); fprintf(stderr, "sic: cannot resolve hostname '%s'\n", host);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
addr.sin_family = AF_INET; addr.sin_family = AF_INET;
@ -193,19 +193,19 @@ main(int argc, char *argv[]) {
memcpy(&addr.sin_addr, hp->h_addr, hp->h_length); memcpy(&addr.sin_addr, hp->h_addr, hp->h_length);
if(connect(srv, (struct sockaddr *) &addr, sizeof(struct sockaddr_in))) { if(connect(srv, (struct sockaddr *) &addr, sizeof(struct sockaddr_in))) {
close(srv); close(srv);
fprintf(stderr, "sic: cannot connect server '%s'\n", server); fprintf(stderr, "sic: cannot connect host '%s'\n", host);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
/* login */ /* login */
if(password) if(password)
snprintf(bufout, sizeof bufout, snprintf(bufout, sizeof bufout,
"PASS %s\r\nNICK %s\r\nUSER %s localhost %s :%s\r\n", "PASS %s\r\nNICK %s\r\nUSER %s localhost %s :%s\r\n",
password, nick, nick, server, fullname); password, nick, nick, host, fullname);
else else
snprintf(bufout, sizeof bufout, "NICK %s\r\nUSER %s localhost %s :%s\r\n", snprintf(bufout, sizeof bufout, "NICK %s\r\nUSER %s localhost %s :%s\r\n",
nick, nick, server, fullname); nick, nick, host, fullname);
write(srv, bufout, strlen(bufout)); write(srv, bufout, strlen(bufout));
snprintf(ping, sizeof ping, "PING %s\r\n", server); snprintf(ping, sizeof ping, "PING %s\r\n", host);
channel[0] = 0; channel[0] = 0;
setbuf(stdout, NULL); /* unbuffered stdout */ setbuf(stdout, NULL); /* unbuffered stdout */
@ -223,7 +223,7 @@ main(int argc, char *argv[]) {
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} else if(i == 0) { } else if(i == 0) {
if(time(NULL) - trespond >= PINGTIMEOUT) { if(time(NULL) - trespond >= PINGTIMEOUT) {
pout(server, "-!- sic shutting down: parse timeout"); pout(host, "-!- sic shutting down: parse timeout");
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
write(srv, ping, strlen(ping)); write(srv, ping, strlen(ping));
@ -231,7 +231,7 @@ main(int argc, char *argv[]) {
} }
if(FD_ISSET(srv, &rd)) { if(FD_ISSET(srv, &rd)) {
if(getline(srv, sizeof bufin, bufin) == -1) { if(getline(srv, sizeof bufin, bufin) == -1) {
perror("sic: remote server closed connection"); perror("sic: remote host closed connection");
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
parsesrv(bufin); parsesrv(bufin);