From 0bd04fc0dc70b439d65e6bd3f556ee97e29f428e Mon Sep 17 00:00:00 2001 From: Mike Goslin Date: Thu, 2 Nov 2000 20:32:41 +0000 Subject: [PATCH] *** empty log message *** --- panda/src/downloader/downloader.cxx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/panda/src/downloader/downloader.cxx b/panda/src/downloader/downloader.cxx index 893d0e1fb3..775cfe92d7 100644 --- a/panda/src/downloader/downloader.cxx +++ b/panda/src/downloader/downloader.cxx @@ -389,6 +389,7 @@ safe_send(int socket, const char *data, int length, long timeout) { //////////////////////////////////////////////////////////////////// int Downloader:: safe_receive(int socket, char *data, int length, long timeout) { + char *data_ptr = data; if (length == 0) { downloader_cat.error() << "Downloader::safe_receive() - requested 0 length receive!" << endl; @@ -413,12 +414,18 @@ safe_receive(int socket, char *data, int length, long timeout) { << "Downloader::safe_receive() - error: " << strerror(errno) << endl; return bytes; } - int ret = recv(socket, data, length, 0); - if (ret > 0) + int ret = recv(socket, data_ptr, length - bytes, 0); + if (ret > 0) { + downloader_cat.debug() + << "Downloader::safe_receive() - recv() got: " << ret << " bytes" + << endl; bytes += ret; - else if (ret == 0) - return 0; - else { + data_ptr += ret; + } else if (ret == 0) { + downloader_cat.debug() + << "Downloader::safe_receive() - End of file" << endl; + return bytes; + } else { downloader_cat.error() << "Downloader::safe_receive() - error: " << strerror(errno) << endl; return bytes;