]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - modules/m_capab.c
m_testline.c fixed
[irc/rqf/shadowircd.git] / modules / m_capab.c
index e915f4062a11c0bf21caafdf4876cbe71bd62d72..89b4281bcd2392d8bfc76f9d2810c4b4c4edb8a7 100644 (file)
@@ -78,8 +78,8 @@ mr_capab(struct Client *client_p, struct Client *source_p, int parc, const char
        else
                client_p->localClient->caps |= CAP_CAP;
 
-       MyFree(client_p->localClient->fullcaps);
-       DupString(client_p->localClient->fullcaps, parv[1]);
+       rb_free(client_p->localClient->fullcaps);
+       client_p->localClient->fullcaps = rb_strdup(parv[1]);
 
        for (i = 1; i < parc; i++)
        {
@@ -114,9 +114,12 @@ me_gcap(struct Client *client_p, struct Client *source_p,
 
        /* already had GCAPAB?! */
        if(!EmptyString(source_p->serv->fullcaps))
-               return 0;
+       {
+               source_p->serv->caps = 0;
+               rb_free(source_p->serv->fullcaps);
+       }
 
-       DupString(source_p->serv->fullcaps, parv[1]);
+       source_p->serv->fullcaps = rb_strdup(parv[1]);
 
        for (s = strtoken(&p, t, " "); s; s = strtoken(&p, NULL, " "))
        {