/* saslbufLen */
/* saslusername */
/* webircpeername */
+ /* webirchostname */
/* buf/bufLen/wbuf/wbufLen */
integer_getter(cl, umode);
integer_getter(cl, regstate);
} else {
free(client->peername);
client->peername = client->webircpeername;
+ if (client->webirchostname) {
+ client_chghost(client, 0, client->webirchostname);
+ free(client->webirchostname);
+ client->webirchostname = 0;
+ }
client->webircpeername = 0;
if (client->webircwait == 2) {
// NOTE: this relies on the job system being FIFO
client->webircwait = 1;
else
client->webircwait = 2;
+ if (!strcmp(args[1], "biboumi")) {
+ int len = strlen(args[2]);
+ client->webirchostname = malloc(len+sizeof(".xmpp"));
+ if (client->webirchostname) {
+ memcpy(client->webirchostname, args[2], len);
+ memcpy(client->webirchostname+len, ".xmpp", sizeof(".xmpp"));
+ }
+ }
job_password_check(client, args[1], args[0], getdatafile("webirc.txt"), cont_webirc);
memset(args[0], 0, strlen(args[0]));
}