static 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; }