All pastes #392513 Raw Edit

Someone

public c v1 · immutable
·published 2007-03-12 21:54 UTC
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;}