diff options
author | Sebastien Helleu <flashcode@flashtux.org> | 2004-12-21 19:35:09 +0000 |
---|---|---|
committer | Sebastien Helleu <flashcode@flashtux.org> | 2004-12-21 19:35:09 +0000 |
commit | 996343fc1d572b26f3c90a5b1295903bfd15368f (patch) | |
tree | 25c5f2f4acca65506ca54055a805b701c4615642 /src/irc | |
parent | ecafff21ce0a6389a41d95b8cfcb9e8fbf8f051b (diff) | |
download | weechat-996343fc1d572b26f3c90a5b1295903bfd15368f.zip |
Added server_command_delay config option (delay in seconds after startup command)
Diffstat (limited to 'src/irc')
-rw-r--r-- | src/irc/irc-recv.c | 4 | ||||
-rw-r--r-- | src/irc/irc-server.c | 6 | ||||
-rw-r--r-- | src/irc/irc.h | 5 |
3 files changed, 11 insertions, 4 deletions
diff --git a/src/irc/irc-recv.c b/src/irc/irc-recv.c index c328cbcbc..1edfea76c 100644 --- a/src/irc/irc-recv.c +++ b/src/irc/irc-recv.c @@ -1500,7 +1500,11 @@ irc_cmd_recv_004 (t_irc_server *server, char *host, char *arguments) /* execute command once connected */ if (server->command && server->command[0]) + { user_command(server, server->command); + if (server->command_delay > 0) + sleep (server->command_delay); + } /* autojoin */ if (server->autojoin && server->autojoin[0]) diff --git a/src/irc/irc-server.c b/src/irc/irc-server.c index b02111cc0..59c03bfa8 100644 --- a/src/irc/irc-server.c +++ b/src/irc/irc-server.c @@ -70,6 +70,7 @@ server_init (t_irc_server *server) server->username = NULL; server->realname = NULL; server->command = NULL; + server->command_delay = 1; server->autojoin = NULL; server->nick = NULL; server->is_connected = 0; @@ -292,8 +293,8 @@ server_free_all () t_irc_server * server_new (char *name, int autoconnect, int command_line, char *address, int port, char *password, char *nick1, char *nick2, char *nick3, - char *username, char *realname, char *command, char *autojoin, - int autorejoin) + char *username, char *realname, char *command, int command_delay, + char *autojoin, int autorejoin) { t_irc_server *new_server; @@ -328,6 +329,7 @@ server_new (char *name, int autoconnect, int command_line, char *address, (realname) ? strdup (realname) : strdup ("realname"); new_server->command = (command) ? strdup (command) : NULL; + new_server->command_delay = command_delay; new_server->autojoin = (autojoin) ? strdup (autojoin) : NULL; new_server->autorejoin = autorejoin; diff --git a/src/irc/irc.h b/src/irc/irc.h index 4f75db621..dbbcce649 100644 --- a/src/irc/irc.h +++ b/src/irc/irc.h @@ -126,6 +126,7 @@ struct t_irc_server char *username; /* user name */ char *realname; /* real name */ char *command; /* command to run once connected */ + int command_delay; /* delay after execution of command */ char *autojoin; /* channels to automatically join */ int autorejoin; /* auto rejoin channels when kicked */ @@ -214,8 +215,8 @@ extern void server_destroy (t_irc_server *); extern void server_free (t_irc_server *); extern void server_free_all (); extern t_irc_server *server_new (char *, int, int, char *, int, char *, char *, - char *, char *, char *, char *, char *, char *, - int); + char *, char *, char *, char *, char *, int, + char *, int); extern int server_send (t_irc_server *, char *, int); extern void server_sendf (t_irc_server *, char *, ...); extern void server_recv (t_irc_server *); |