@@ -2,6 +2,7 @@
* Fixed parsing errors in .chanset
* Only global +n can use .chanset * now
* Add an extra 2 second delay before releasing nick to aide in syncing and time to type /nick
+* When a nick is released, start regaining as soon as it is witnessed to have been taken again
1.3 - http://wraith.botpack.net/milestone/1.3
* Binary / shell / startup changes
@@ -1237,8 +1237,15 @@ static int gotnick(char *from, char *msg)
}
} else
putlog(LOG_SERV | LOG_MISC, "*", "Nickname changed to '%s'???", msg);
- } else if ((keepnick) && (rfc_casecmp(nick, msg))) { //Ignore case changes
- nicks_available(nick);
+ } else if ((rfc_casecmp(nick, msg))) { //Ignore case changes
+ if (keepnick)
+ nicks_available(nick);
+ else if (keepnick && release_time) {
+ // Someone else has regained the nickname, revert to keeping the nick in case they lose it
+ // within the release_time window.
+ keepnick = 0;
+ release_time = 0;
+ }
free(buf_ptr);
return 0;