Exemple #1
0
int		push_fd(t_fd **fds, int fd, int type, handler_fptr handler)
{
  t_fd		*elem;
  t_fd		*ptr;

  if (!(elem = malloc(sizeof(*elem))))
    return (msg_error(EALLOC, 1));
  elem->fd = fd;
  elem->type = type;
  elem->state = ACTIVE;
  elem->handler_fptr = handler;
  if ((type == FD_CLIENT && !(elem->nick = get_default_nick(*fds))) ||
      (type == FD_SERVER && !(elem->nick = strdup("server"))))
    return (msg_error(EALLOC, 1));
  elem->channels = NULL;
  elem->next = NULL;
  if (!(*fds))
    {
      *fds = elem;
      return (EXIT_SUCCESS);
    }
  ptr = *fds;
  while (ptr->next)
    ptr = ptr->next;
  ptr->next = elem;
  return (EXIT_SUCCESS);
}
Exemple #2
0
void controller::start_connection(const std::string& hostname) {
    start_connection(hostname, get_default_nick(), get_default_username(),
                     get_default_fullname(), get_default_port());
}