diff options
| author | oroborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e> | 2008-08-05 21:17:31 +0000 |
|---|---|---|
| committer | oroborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e> | 2008-08-05 21:17:31 +0000 |
| commit | e26f3f1e43d8a8f19eef82308184894afa406e10 (patch) | |
| tree | 341aeb155492ce2313c10ebc6d488b06adc250b5 /src/client/client.c | |
| parent | aecb6c466c1e7efa0f07809aa18096e7d5559850 (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/client.c')
| -rw-r--r-- | src/client/client.c | 32 |
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; } } |