#include "stdinc.h"
#include "client.h"
-#include "irc_string.h"
+#include "match.h"
#include "s_serv.h"
#include "s_conf.h"
#include "msg.h"
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++)
{
char *t = LOCAL_COPY(parv[i]);
- for (s = strtoken(&p, t, " "); s; s = strtoken(&p, NULL, " "))
+ for (s = rb_strtok_r(t, " ", &p); s; s = rb_strtok_r(NULL, " ", &p))
{
for (cap = captab; cap->name; cap++)
{
/* 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, " "))
+ for (s = rb_strtok_r(t, " ", &p); s; s = rb_strtok_r(NULL, " ", &p))
{
for (cap = captab; cap->name; cap++)
{