From 0a502ddd052402696675851a282f81052dc59b87 Mon Sep 17 00:00:00 2001 From: Michael Poole Date: Sun, 30 Oct 2011 18:22:21 -0400 Subject: [PATCH] Avoid adding expire_channels() to the timeq on !expire. Fixes SourceForge bug #3000577. src/chanserv.c (expire_channels): Only (re-)add this function to timeq if the data argument is NULL. (cmd_expire): Pass a non-NULL pointer when calling expire_channels(). --- src/chanserv.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/chanserv.c b/src/chanserv.c index 8bdad62..2d36696 100644 --- a/src/chanserv.c +++ b/src/chanserv.c @@ -1362,7 +1362,7 @@ unregister_channel(struct chanData *channel, const char *reason) } static void -expire_channels(UNUSED_ARG(void *data)) +expire_channels(void *data) { struct chanData *channel, *next; struct userData *user; @@ -1392,7 +1392,7 @@ expire_channels(UNUSED_ARG(void *data)) unregister_channel(channel, "registration expired."); } - if(chanserv_conf.channel_expire_frequency) + if(chanserv_conf.channel_expire_frequency && !data) timeq_add(now + chanserv_conf.channel_expire_frequency, expire_channels, NULL); } @@ -4906,7 +4906,7 @@ chanserv_support_channels(void) static CHANSERV_FUNC(cmd_expire) { int channel_count = registered_channels; - expire_channels(NULL); + expire_channels(chanserv); reply("CSMSG_CHANNELS_EXPIRED", channel_count - registered_channels); return 1; } -- 2.20.1