diff options
Diffstat (limited to 'src/protocol/charybdis.c')
-rw-r--r-- | src/protocol/charybdis.c | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/src/protocol/charybdis.c b/src/protocol/charybdis.c index 69786154f..4efc7d7b3 100644 --- a/src/protocol/charybdis.c +++ b/src/protocol/charybdis.c @@ -14,8 +14,6 @@ #include "pseudo.h" #include "charybdis.h" -int ts6nickcount = 0; - IRCDVar myIrcd[] = { {"Charybdis 1.0+", /* ircd name */ "+oiS", /* nickserv mode */ @@ -144,6 +142,8 @@ IRCDCAPAB myIrcdcap[] = { 0, 0, 0} }; +/*******************************************************************/ + void charybdis_set_umode(User * user, int ac, char **av) { int add = 1; /* 1 if adding modes, 0 if deleting */ @@ -1051,16 +1051,13 @@ void charybdis_cmd_connect(int servernum) void charybdis_cmd_bot_nick(char *nick, char *user, char *host, char *real, char *modes) { - char nicknumbuf[10]; EnforceQlinedNick(nick, NULL); if (UseTS6) { - snprintf(nicknumbuf, 10, "%sAAAAA%c", Numeric, - (ts6nickcount + 'A')); + char *uidbuf = ts6_uid_retrieve(); send_cmd(TS6SID, "UID %s 1 %ld %s %s %s 0 %s :%s", nick, - (long int) time(NULL), modes, user, host, nicknumbuf, + (long int) time(NULL), modes, user, host, uidbuf, real); - new_uid(nick, nicknumbuf); - ts6nickcount++; + new_uid(nick, uidbuf); } else { send_cmd(NULL, "NICK %s 1 %ld %s %s %s %s :%s", nick, (long int) time(NULL), modes, user, host, ServerName, @@ -1429,22 +1426,19 @@ void charybdis_cmd_tmode(char *source, char *dest, const char *fmt, ...) void charybdis_cmd_nick(char *nick, char *name, char *mode) { - char nicknumbuf[10]; EnforceQlinedNick(nick, NULL); if (UseTS6) { - snprintf(nicknumbuf, 10, "%sAAAAA%c", Numeric, - (ts6nickcount + 'A')); + char *uidbuf = ts6_uid_retrieve(); send_cmd(TS6SID, "UID %s 1 %ld %s %s %s 0 %s :%s", nick, (long int) time(NULL), mode, ServiceUser, ServiceHost, - nicknumbuf, name); - new_uid(nick, nicknumbuf); - ts6nickcount++; + uidbuf, name); + new_uid(nick, uidbuf); } else { send_cmd(NULL, "NICK %s 1 %ld %s %s %s %s :%s", nick, (long int) time(NULL), mode, ServiceUser, ServiceHost, ServerName, name); } - send_cmd(UseTS6 ? nicknumbuf : nick, "RESV * %s :%s", nick, "Reserved for services"); + charybdis_cmd_sqline(nick, "Reserved for services"); } void charybdis_cmd_kick(char *source, char *chan, char *user, char *buf) |