aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sircbot.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/sircbot.c b/sircbot.c
index 89c175c..2ac2e94 100644
--- a/sircbot.c
+++ b/sircbot.c
@@ -49,6 +49,7 @@ struct sircbot_session {
struct sircbot_channel *chan;
int numchan;
time_t last_ping;
+ int runhooks;
};
struct sircbot_socket_callback {
@@ -257,7 +258,8 @@ int handle_response(struct sircbot_session *sb, char *user, char *cmd,
if (*p == ':')
p++;
}
- return run_hooks(user, data, p);
+ if (sb->runhooks)
+ return run_hooks(user, data, p);
}
return 0;
}
@@ -568,7 +570,9 @@ void sighandler(int signal)
static void usage_exit(int exitcode)
{
- printf("sircbot " VERSION "\nusage: sircbot [-f] [-n nick] [-r flushrate] [-s server] [-p port] CHANNEL\n");
+ printf("sircbot " VERSION "\n"
+ "usage: sircbot [-fN] [-n nick] [-r flushrate] [-s server] [-p port]\n"
+ " [-l logfile] [-u user] [-P pass] CHANNEL\n");
exit(exitcode);
}
@@ -584,7 +588,8 @@ int main(int argc, char *argv[])
struct sircbot_session sb;
int i, c, port = 6667;
- while ((c = getopt(argc, argv, "fl:n:p:P:r:s:")) != -1) {
+ sb.runhooks = 1;
+ while ((c = getopt(argc, argv, "fl:n:Np:P:r:s:")) != -1) {
switch (c) {
case 'f':
foreground = 1;
@@ -595,6 +600,9 @@ int main(int argc, char *argv[])
case 'n':
nick = optarg;
break;
+ case 'N':
+ sb.runhooks = 0;
+ break;
case 'P':
pass = optarg;
break;