diff --git a/client.c b/client.c index 17f1639..eaccf86 100644 --- a/client.c +++ b/client.c @@ -37,13 +37,15 @@ int client_connect(conn_handler handler, char *servip, int16_t port) { bzero(buffer, MAX_BUFSIZE); for (ret = 0; 0 == ret;) { ret = handler(buffer); - if(0 != ret) + if(0 > ret) break; if (0 >= write(connfd, buffer, strlen(buffer))) { printf("client_connect: cannot write to socket\n"); ret = -1; } + if(0 != ret) + break; bzero(buffer, MAX_BUFSIZE); len = read(connfd, buffer, sizeof(buffer));