diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2013-03-08 11:29:14 +0100 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2013-03-08 11:29:14 +0100 |
commit | 11701597c635b5e66ff29500e6a2aa739cdaf5df (patch) | |
tree | c7064d38bf2665e11373e4614957935bf6ff760e | |
parent | 29e3e409a36256cd1bf49c58970ebbeff8151497 (diff) | |
download | sircbot-11701597c635b5e66ff29500e6a2aa739cdaf5df.tar.bz2 sircbot-11701597c635b5e66ff29500e6a2aa739cdaf5df.tar.xz |
move disconnect to separate func
slightly cleaner code
-rw-r--r-- | sircbot.c | 16 |
1 files changed, 10 insertions, 6 deletions
@@ -303,6 +303,14 @@ int parse_irc_data(struct sircbot_session *sb, char *buf) return 0; } +static int irc_server_disconnect(struct irc_session *is) +{ + syslog(LOG_ERR, "%s: connection closed", is->server); + close(is->fd); + is->fd = -1; + return 0; +} + /* callback functions */ static int irc_server_cb(struct sircbot_session *sb, struct pollfd *fds, void *ctx) @@ -311,13 +319,9 @@ static int irc_server_cb(struct sircbot_session *sb, struct pollfd *fds, int r; struct irc_session *sess = (struct irc_session *) ctx; - if (fds->revents & POLLHUP) { + if (fds->revents & POLLHUP) /* server hang up on us */ - printf("DEBUG: %s: connection closed\n", sess ? sess->server : "null"); - close(sess->fd); - sess->fd = -1; - return 0; - } + return irc_server_disconnect(sess); if (fds->revents & POLLERR) { log_err(sess->server); |