Ejemplo n.º 1
0
void send_channel_users_info(User *user, Node *users, char *query, char *send_line) {
    Node *first = users;
    Node *p     = first;
    int sent    = 0;

    User *u = (User *) p->payload;
    if(strcmp(u->current_channel, query) == 0) {
        send_user_info(user, u, send_line);
        sent += 1;
    };
    p = p->next;
    while(p != first) {
        u = (User *) p->payload;
        if(strcmp(u->current_channel, query) == 0) {
            send_user_info(user, u, send_line);
            sent += 1;
        };
        p = p->next;
    };
    if(sent > 0) {
        send_line = strset(":");
        send_line = stradd(send_line, SERVER_NAME);
        send_line = stradd(send_line, " ");
        send_line = stradd(send_line, RPL_ENDOFWHO);
        send_line = stradd(send_line, " ");
        send_line = stradd(send_line, user->name);
        send_line = stradd(send_line, " #");
        send_line = stradd(send_line, user->current_channel);
        send_line = stradd(send_line, ENDOFWHO);

        write(user->socket, send_line, strlen(send_line));
    };
};
Ejemplo n.º 2
0
int user_login(User user_info){
	if (send_user_info(user_info,"login"))
	{
		current_user = user_info;
		return true;
	} else {
		return false;
	}
}
Ejemplo n.º 3
0
/*
 * m_userip - generic message handler
 */
int m_userip(struct Client* cptr, struct Client* sptr, int parc, char* parv[])
{
  assert(0 != cptr);
  assert(cptr == sptr);

  if (parc < 2)
    return need_more_params(sptr, "USERIP");
  send_user_info(sptr, parv[1], RPL_USERIP, userip_formatter); 
  return 0;
}
Ejemplo n.º 4
0
int irc_login(socket)
{
  printf(".:. Registration process... .:.\n");
  send_user_info(socket);
  send_nickname(socket);
}
Ejemplo n.º 5
0
int user_modify(User user_info){
	return send_user_info(user_info,"modify");
}
Ejemplo n.º 6
0
int user_register(User user_info){
	return send_user_info(user_info,"register");
}