summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/map/irc-bot.c16
-rw-r--r--src/map/irc-bot.h2
2 files changed, 10 insertions, 8 deletions
diff --git a/src/map/irc-bot.c b/src/map/irc-bot.c
index 3e7d7eb06..28224244d 100644
--- a/src/map/irc-bot.c
+++ b/src/map/irc-bot.c
@@ -22,7 +22,7 @@
char send_string[200];
int irc_connect_timer(int tid, unsigned int tick, int id, intptr_t data) {
- if( ircbot->fd != -1 || session[ircbot->fd] || ++ircbot->fails >= 3 )
+ if( ircbot->isOn || ++ircbot->fails >= 3 )
return 0;
ircbot->last_try = gettick();
@@ -35,7 +35,7 @@ int irc_connect_timer(int tid, unsigned int tick, int id, intptr_t data) {
}
int irc_identify_timer(int tid, unsigned int tick, int id, intptr_t data) {
- if( ircbot->fd == -1 )
+ if( !ircbot->isOn )
return 0;
sprintf(send_string, "USER HerculesWS%d 8 * : Hercules IRC Bridge",rand()%777);
@@ -49,7 +49,7 @@ int irc_identify_timer(int tid, unsigned int tick, int id, intptr_t data) {
}
int irc_join_timer(int tid, unsigned int tick, int id, intptr_t data) {
- if( ircbot->fd == -1 )
+ if( !ircbot->isOn )
return 0;
if( hChSys.irc_nick_pw[0] != '\0' ) {
@@ -79,7 +79,8 @@ int irc_parse(int fd) {
if (session[fd]->flag.eof) {
do_close(fd);
- ircbot->fd = -1;
+ ircbot->fd = 0;
+ ircbot->isOn = false;
ircbot->isIn = false;
ircbot->fails = 0;
ircbot->ip = host2ip(hChSys.irc_server);
@@ -225,8 +226,9 @@ void irc_bot_init(void) {
}
ircbot->fails = 0;
- ircbot->fd = -1;
- ircbot->isIn = true;
+ ircbot->fd = 0;
+ ircbot->isIn = false;
+ ircbot->isOn = false;
add_timer_func_list(ircbot->connect_timer, "irc_connect_timer");
add_timer(gettick() + 7000, ircbot->connect_timer, 0, 0);
@@ -237,7 +239,7 @@ void irc_bot_final(void) {
if( !hChSys.irc )
return;
- if( ircbot->fd != -1 ) {
+ if( ircbot->isOn ) {
ircbot->send("QUIT :Hercules is shutting down");
do_close(ircbot->fd);
}
diff --git a/src/map/irc-bot.h b/src/map/irc-bot.h
index d1bf0866d..f4244e024 100644
--- a/src/map/irc-bot.h
+++ b/src/map/irc-bot.h
@@ -17,7 +17,7 @@ struct irc_func {
struct irc_bot_interface {
int fd;
- bool isIn;
+ bool isIn, isOn;
unsigned int last_try;
unsigned char fails;
unsigned long ip;