]> jfr.im git - irc/blitzed-org/charybdis.git/commitdiff
RESV FNC: Sign off/on monitor, and don't try to FNC users that already have a UID...
authorKeith Buck <redacted>
Sun, 25 Mar 2012 01:49:34 +0000 (01:49 +0000)
committerKeith Buck <redacted>
Sun, 25 Mar 2012 01:49:34 +0000 (01:49 +0000)
src/client.c

index 8e895dfca325b2ff241095b3bf6e67a11d5ca4dc..25b1676f01ea18e113f5180c53f2aefa1275a9dd 100644 (file)
@@ -625,6 +625,10 @@ resv_nick_fnc(const char *mask, const char *reason, int temp_time)
                if(IsMe(client_p) || !IsPerson(client_p) || IsExemptResv(client_p))
                        continue;
 
+               /* Skip users that already have UID nicks. */
+               if(IsDigit(client_p->name[0]))
+                       continue;
+
                if(match_esc(mask, client_p->name))
                {
                        nick = client_p->id;
@@ -656,6 +660,8 @@ resv_nick_fnc(const char *mask, const char *reason, int temp_time)
                        client_p->tsinfo = rb_current_time();
                        add_history(client_p, 1);
 
+                       monitor_signoff(client_p);
+
                        invalidate_bancache_user(client_p);
 
                        sendto_common_channels_local(client_p, NOCAPS, ":%s!%s@%s NICK :%s",
@@ -667,6 +673,8 @@ resv_nick_fnc(const char *mask, const char *reason, int temp_time)
                        rb_strlcpy(client_p->name, nick, sizeof(client_p->name));
                        add_to_client_hash(nick, client_p);
 
+                       monitor_signon(client_p);
+
                        RB_DLINK_FOREACH_SAFE(ptr, next_ptr, client_p->on_allow_list.head)
                        {
                                target_p = ptr->data;