From ee36f72f5d2c2d1509daf1984ecb426bf8e03ce1 Mon Sep 17 00:00:00 2001 From: JD Horelick Date: Wed, 3 Mar 2010 03:43:16 -0500 Subject: [PATCH] I fail. Move the epiration of +p statement lower so it actually...works. --- src/s_user.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/s_user.c b/src/s_user.c index 2d5f62e..d5f163d 100644 --- a/src/s_user.c +++ b/src/s_user.c @@ -988,18 +988,6 @@ user_mode(struct Client *client_p, struct Client *source_p, int parc, const char sendto_one_numeric(source_p, RPL_SNOMASK, form_str(RPL_SNOMASK), construct_snobuf(source_p->snomask)); - /* If we're setting +p, expire it, but only from local clients */ - if(ConfigFileEntry.expire_override_time && MyClient(source_p) && (source_p->umodes & ~setflags) & UMODE_OVERRIDE) - { - source_p->localClient->override_timeout_event = - rb_event_addonce("expire_override", expire_umode_p, source_p, ConfigFileEntry.expire_override_time); - } - else if(MyClient(source_p) && source_p->localClient->override_timeout_event && (setflags & ~source_p->umodes) & UMODE_OVERRIDE) - { - rb_event_delete(source_p->localClient->override_timeout_event); - source_p->localClient->override_timeout_event = NULL; - } - return 0; } @@ -1184,6 +1172,19 @@ user_mode(struct Client *client_p, struct Client *source_p, int parc, const char sendto_one_numeric(source_p, RPL_SNOMASK, form_str(RPL_SNOMASK), construct_snobuf(source_p->snomask)); + /* If we're setting +p, expire it, but only from local clients */ + if(ConfigFileEntry.expire_override_time && MyClient(source_p) && (source_p->umodes & ~setflags) & UMODE_OVERRIDE) + { + source_p->localClient->override_timeout_event = + rb_event_addonce("expire_override", expire_umode_p, source_p, ConfigFileEntry.expire_override_time); + } + else if(MyClient(source_p) && source_p->localClient->override_timeout_event && (setflags & ~source_p->umodes) & UMODE_OVERRIDE) + { + rb_event_delete(source_p->localClient->override_timeout_event); + source_p->localClient->override_timeout_event = NULL; + } + + return (0); }