static int on_stream(http_request_t *hr, void *data, const char *remaining, size_t size) { int sck; user_t *user; channel_t *channel; (void) remaining; (void) size; (void) data; user = http_request_get_data(hr); if(user == NULL) return -1; sck = http_request_detach(hr); send(sck, basic_reponse, sizeof(basic_reponse) - 1, MSG_DONTWAIT); if(user_add_socket(user, sck) == -1) { close(sck); } channel = channel_add_user(user_get_name(user), user); user_set_channel(user, channel); return 0; }
void chanusers_join(struct user *u, struct channel *c) { channel_add_user(c, u); user_add_channel(u, c); }