#include <arpa/inet.h>
#endif
-extern time_t now;
static struct {
struct chanNode *channel;
struct userNode *bot;
static int finalized;
int snoop_finalize(void);
-#define SNOOP(FORMAT, ARGS...) send_channel_message(snoop_cfg.channel, snoop_cfg.bot, "%s "FORMAT, timestamp , ## ARGS)
-#define UPDATE_TIMESTAMP() strftime(timestamp, sizeof(timestamp), "[%H:%M:%S]", localtime(&now))
+#if defined(GCC_VARMACROS)
+# define SNOOP(FORMAT, ARGS...) send_channel_message(snoop_cfg.channel, snoop_cfg.bot, "%s "FORMAT, timestamp, ARGS)
+#elif defined(C99_VARMACROS)
+# define SNOOP(FORMAT, ...) send_channel_message(snoop_cfg.channel, snoop_cfg.bot, "%s "FORMAT, timestamp, __VA_ARGS__)
+#endif
+#define UPDATE_TIMESTAMP() do { time_t feh = now; strftime(timestamp, sizeof(timestamp), "[%H:%M:%S]", localtime(&feh)); } while (0)
static void
snoop_nick_change(struct userNode *user, const char *old_nick) {
}
static void
-snoop_part(struct userNode *user, struct chanNode *chan, const char *reason) {
+snoop_part(struct modeNode *mn, const char *reason) {
if (!snoop_cfg.enabled) return;
- if (user->dead) return;
+ if (mn->user->dead) return;
UPDATE_TIMESTAMP();
- SNOOP("$bPART$b %s by %s (%s)", chan->name, user->nick, reason ? reason : "");
+ SNOOP("$bPART$b %s by %s (%s)", mn->channel->name, mn->user->nick, reason ? reason : "");
}
static void
SNOOP("$bKICK$b %s from %s by %s", victim->nick, chan->name, (kicker ? kicker->nick : "some server"));
}
-static int
+static void
snoop_new_user(struct userNode *user) {
- if (!snoop_cfg.enabled) return 0;
- if (user->uplink->burst && !snoop_cfg.show_bursts) return 0;
+ if (!snoop_cfg.enabled) return;
+ if (user->uplink->burst && !snoop_cfg.show_bursts) return;
UPDATE_TIMESTAMP();
- SNOOP("$bNICK$b %s %s@%s [%s] on %s", user->nick, user->ident, user->hostname, inet_ntoa(user->ip), user->uplink->name);
- return 0;
+ SNOOP("$bNICK$b %s %s@%s [%s] on %s", user->nick, user->ident, user->hostname, irc_ntoa(&user->ip), user->uplink->name);
}
static void
mod_chanmode_init(&change);
change.argc = 1;
change.args[0].mode = MODE_CHANOP;
- change.args[0].member = AddChannelUser(snoop_cfg.bot, snoop_cfg.channel);
+ change.args[0].u.member = AddChannelUser(snoop_cfg.bot, snoop_cfg.channel);
mod_chanmode_announce(snoop_cfg.bot, snoop_cfg.channel, &change);
return 1;
}