summaryrefslogtreecommitdiff
path: root/src/client
diff options
context:
space:
mode:
authororoborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e>2008-08-05 21:17:31 +0000
committeroroborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e>2008-08-05 21:17:31 +0000
commite26f3f1e43d8a8f19eef82308184894afa406e10 (patch)
tree341aeb155492ce2313c10ebc6d488b06adc250b5 /src/client
parentaecb6c466c1e7efa0f07809aa18096e7d5559850 (diff)
- dropne upravy, snad dom tam nic nepokail -- aj sa naplni buffer (4096 bajtov) server clienta odstreli.
- medzi tym som pozeral/pozeram Svedsku trojku na JoJ-ke :) git-svn-id: http://opensvn.csie.org/tuxanci_ng@191 0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e
Diffstat (limited to 'src/client')
-rw-r--r--src/client/client.c32
1 files changed, 24 insertions, 8 deletions
diff --git a/src/client/client.c b/src/client/client.c
index 7af0543..08fe9e6 100644
--- a/src/client/client.c
+++ b/src/client/client.c
@@ -179,6 +179,13 @@ int initClient(char *ip, int port, int proto)
return 0;
}
+static void errorWithServer()
+{
+ fprintf(stderr, "Server does not respond!\n");
+ setMsgToAnalyze(getMyText("ERROR_SERVER_DONT_ALIVE"));
+ setWorldEnd();
+}
+
static void sendBuffer()
{
void *data;
@@ -196,8 +203,9 @@ static void sendBuffer()
res = writeTcpSocket(sock_server_tcp, data, len);
- if( res <= 0 )
+ if( res < 0 )
{
+ errorWithServer();
return;
}
@@ -230,8 +238,13 @@ void sendServer(char *msg)
if( sock_server_tcp != NULL )
{
//ret = writeTcpSocket(sock_server_tcp, msg, strlen(msg));
- addBuffer(clientSendBuffer, msg, strlen(msg));
- ret = 1;
+ ret = addBuffer(clientSendBuffer, msg, strlen(msg));
+ }
+
+ if( ret < 0 )
+ {
+ errorWithServer();
+ return;
}
}
@@ -252,8 +265,9 @@ static int eventServerSelect()
ret = readTcpSocket(sock_server_tcp, buffer, STR_PROTO_SIZE-1);
}
- if( ret <= 0 )
+ if( ret < 0 )
{
+ errorWithServer();
return ret;
}
@@ -261,7 +275,11 @@ static int eventServerSelect()
traffic_down += ret;
#endif
- addBuffer(clientRecvBuffer, buffer, ret);
+ if( addBuffer(clientRecvBuffer, buffer, ret) < 0 )
+ {
+ errorWithServer();
+ return ret;
+ }
while( getBufferLine(clientRecvBuffer, buffer, STR_PROTO_SIZE) >= 0 )
{
@@ -345,9 +363,7 @@ static void selectClientSocket()
{
if( isServerAlive() == FALSE )
{
- fprintf(stderr, "Server does not respond!\n");
- setMsgToAnalyze(getMyText("ERROR_SERVER_DONT_ALIVE"));
- setWorldEnd();
+ errorWithServer();
return;
}
}