X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=src%2FClientSocket.c;fp=src%2FClientSocket.c;h=13f8b6b6d55f82b9debe72288f0422f35694f197;hb=9eb6179eb4d2c394c7913eda496c922cb8c5d1a8;hp=5632de65e2fc07775d4ad8ab78ceb69fa257b036;hpb=4b9de3472bf8bb35214bd3c31289b7c601304686;p=NeonServV5.git diff --git a/src/ClientSocket.c b/src/ClientSocket.c index 5632de6..13f8b6b 100644 --- a/src/ClientSocket.c +++ b/src/ClientSocket.c @@ -43,7 +43,6 @@ struct ParseOrder *parse_order = NULL; //the magic list :P static struct socket_list *sockets = NULL; -static char buffer[BUF_SIZ]; static IOHANDLER_CALLBACK(socket_callback); @@ -77,7 +76,6 @@ struct ClientSocket* create_socket(char *host, int port, char *bindto, char *pas client->user = NULL; client->network_name = NULL; client->flags = 0; - client->bufferpos = 0; client->traffic_in = 0; client->traffic_out = 0; client->connection_time = 0; @@ -103,9 +101,7 @@ void connect_socket(struct ClientSocket *client) { int close_socket(struct ClientSocket *client) { if(client == NULL) return 0; if((client->flags & SOCKET_FLAG_CONNECTED)) { - char quitbuf[MAXLEN]; - int quitlen = sprintf(quitbuf, "QUIT :[NeonServ %s.%d] disconnect requested.\n", NEONSERV_VERSION, patchlevel); - iohandler_send(client, quitbuf, quitlen); + iohandler_printf(client->iofd, "QUIT :[NeonServ %s.%d] disconnect requested.\n", NEONSERV_VERSION, patchlevel); bot_disconnect(client); @@ -152,7 +148,7 @@ int destroy_socket(struct ClientSocket *client) { return 1; } -static int write_socket_force(struct ClientSocket *client, char* msg, int len) { +int write_socket_force(struct ClientSocket *client, char* msg, int len) { if(!(client && (client->flags & SOCKET_FLAG_CONNECTED))) return 0; SYNCHRONIZE(synchronized); #ifdef HAVE_THREADS @@ -160,10 +156,10 @@ static int write_socket_force(struct ClientSocket *client, char* msg, int len) { #else putlog(LOGLEVEL_RAW, "[send %d] %s", len, msg); #endif - iohandler_send(client->iofd, msg, len) + iohandler_send(client->iofd, msg, len); client->traffic_out += len; DESYNCHRONIZE(synchronized); - return ret; + return 1; } int write_socket(struct ClientSocket *client, char* msg, int len) { @@ -219,6 +215,7 @@ int clientsocket_parseorder_top(unsigned int tid) { static IOHANDLER_CALLBACK(socket_callback) { struct ClientSocket *client = event->iofd->data; + unsigned int tid; switch(event->type) { case IOEVENT_CONNECTED: client->flags |= SOCKET_FLAG_CONNECTED; @@ -243,6 +240,7 @@ static IOHANDLER_CALLBACK(socket_callback) { break; case IOEVENT_RECV: #ifdef HAVE_THREADS + tid = (unsigned int) pthread_self_tid(); clientsocket_start_of_recv(tid); #endif parse_line(client, event->data.recv_str);