rb_dlinkAddTail(item, &item->node, &isupportlist);
}
-void
+const void *
change_isupport(const char *name, const char *(*func)(const void *), const void *param)
{
rb_dlink_node *ptr;
struct isupportitem *item;
+ const void *oldvalue;
RB_DLINK_FOREACH(ptr, isupportlist.head)
{
if (!strcmp(item->name, name))
{
- item->name = name;
+ oldvalue = item->param;
+
+ // item->name = name;
item->func = func;
item->param = param;
break;
}
}
+
+ return oldvalue;
}
void
add_isupport("FNC", isupport_string, "");
add_isupport("TARGMAX", isupport_targmax, NULL);
add_isupport("EXTBAN", isupport_extban, NULL);
+ add_isupport("WHOX", isupport_string, "");
+ add_isupport("CLIENTVER", isupport_string, "3.0");
}