DDVSocket edits

This commit is contained in:
Thulinma 2010-11-08 16:25:35 +01:00
parent a23c9696b6
commit 83f59d4213

View file

@ -73,7 +73,7 @@ bool DDV_write(void * buffer, int todo, int sock){
int r = send(sock, (char*)buffer + sofar, todo-sofar, 0); int r = send(sock, (char*)buffer + sofar, todo-sofar, 0);
if (r <= 0){ if (r <= 0){
switch (errno){ switch (errno){
case EWOULDBLOCK: socketBlocking = true; return false; break; case EWOULDBLOCK: socketBlocking = true; break;
default: default:
socketError = true; socketError = true;
printf("Could not write! %s\n", strerror(errno)); printf("Could not write! %s\n", strerror(errno));
@ -86,6 +86,12 @@ bool DDV_write(void * buffer, int todo, int sock){
return true; return true;
} }
bool DDV_ready(int sock){
char tmp;
int r = recv(sock, &tmp, 1, MSG_PEEK);
return (r == 1);
}
bool DDV_read(void * buffer, int todo, int sock){ bool DDV_read(void * buffer, int todo, int sock){
int sofar = 0; int sofar = 0;
socketBlocking = false; socketBlocking = false;
@ -93,7 +99,7 @@ bool DDV_read(void * buffer, int todo, int sock){
int r = recv(sock, (char*)buffer + sofar, todo-sofar, 0); int r = recv(sock, (char*)buffer + sofar, todo-sofar, 0);
if (r <= 0){ if (r <= 0){
switch (errno){ switch (errno){
case EWOULDBLOCK: socketBlocking = true; return false; break; case EWOULDBLOCK: socketBlocking = true; break;
default: default:
socketError = true; socketError = true;
printf("Could not read! %s\n", strerror(errno)); printf("Could not read! %s\n", strerror(errno));