rendered paste body#include <sys/socket.h>#include <netdb.h>#include <string.h>#include <stdlib.h>#include <stdio.h>#include <arpa/inet.h>//#include "init.h"//#include "structs.h"#include <sys/types.h>#include <unistd.h>struct irc_server { unsigned char server[1024]; unsigned short int port; int sock;};void conecta(struct irc_server *server);void envia(struct irc_server *server,char *msg);int main(){ struct irc_server server; int x; char teste[1000]; //server.server = "irc.brasnet.org"; strcpy(server.server,"irc.brasnet.org\0"); server.port = 6667; conecta(&server); while(1) { x=recv(server.sock,teste,sizeof(teste),0); if (x == -1) { perror("recv"); exit(1); } teste[x]='\0'; printf("%s",teste); } return (0);}void conecta(struct irc_server *server){ struct hostent *he; struct sockaddr_in alvo; server->sock = socket(AF_INET,SOCK_STREAM,0); he = gethostbyname(server->server); if (!he) { puts("Host no encontrado."); exit(-1); } alvo.sin_family = AF_INET; alvo.sin_port = htons(server->port); //alvo.sin_addr.s_addr = he->h_addr; memcpy(&alvo.sin_addr.s_addr,he->h_addr,4); bzero(&(alvo.sin_zero), 8); if (connect(server->sock,(struct sockaddr *) &alvo,sizeof(struct sockaddr)) < 0) { perror("connect"); getchar(); exit(-1); } envia(server,"USER Nyx _Nyx NyxBot :Viviane"); envia(server,"NICK Nyx"); envia(server,"MSG NICKSERV IDENTIFY owned"); envia(server,"JOIN #c4ll");}void envia(struct irc_server *server,char *msg){ int he; he = send(server->sock,msg,sizeof(msg),0); if(he < 0) { puts("Erro ao enviar a mensagem."); getchar(); exit(-1); } msg = NULL;}