-/* ClientSocket.c - NeonServ v5.5
+/* ClientSocket.c - NeonServ v5.6
* Copyright (C) 2011-2012 Philipp Kreil (pk910)
*
* This program is free software: you can redistribute it and/or modify
#include "ConfigParser.h"
#include "version.h"
#include "IOHandler.h"
+#include "IRCEvents.h"
struct socket_list {
struct ClientSocket *data;
} else
last_sock = sock;
}
+ event_freeclient(client);
free(client->host);
if(client->bind)
free(client->bind);
static IOHANDLER_CALLBACK(socket_callback) {
struct ClientSocket *client = event->iofd->data;
+ #ifdef HAVE_THREADS
unsigned int tid;
+ #endif
switch(event->type) {
case IOEVENT_CONNECTED:
client->flags |= SOCKET_FLAG_CONNECTED;
if(client->pass && strcmp(client->pass, ""))
- iohandler_printf(event->iofd, "PASS :%s", client->pass);
- iohandler_printf(event->iofd, "USER %s 0 0 :%s", client->ident, client->realname);
- iohandler_printf(event->iofd, "NICK %s", client->nick);
+ putsock(client, "PASS :%s", client->pass);
+ putsock(client, "USER %s 0 0 :%s", client->ident, client->realname);
+ putsock(client, "NICK %s", client->nick);
break;
case IOEVENT_NOTCONNECTED:
case IOEVENT_CLOSED: