rendered paste bodystatic int
s_user_addhost(struct client *client_p, struct lconn *conn_p, const char *parv[], int parc)
{
struct user_reg *reg_p;
struct host_reg *hreg_p;
char *username;
char *mask;
username = client_p->name;
if((hreg_p = find_host_reg(NULL, parv[0])) != NULL)
{
service_send(userserv_p, client_p, conn_p,
(const char*)LangMsg(client_p, LAN_UALREADYREG), hreg_p->hostmask);
return 0;
}
hreg_p = BlockHeapAlloc(user_host_heap);
strlcpy(hreg_p->username, username, sizeof(hreg_p->username));
strlcpy(hreg_p->hostmask, parv[0], sizeof(hreg_p->hostmask));
add_host_reg(hreg_p);
rsdb_exec(NULL, "INSERT INTO user_hostmask (username, mask) "
"VALUES('%Q', '%Q')",
hreg_p->username, hreg_p->hostmask);
service_send(userserv_p, client_p, conn_p,
(const char*)LangMsg(client_p, LAN_UADDHOST), hreg_p->username, hreg_p->hostmask);
return 0;
}