From eb88f3d9b1122125dae7bab0521a4a77490b172b Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Thu, 15 Jun 2000 14:34:43 +0000 Subject: when failing to write to a socket, we now bail out better I also use typecasted size_t now for systems with unsigned such ones --- lib/highlevel.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'lib') diff --git a/lib/highlevel.c b/lib/highlevel.c index 6f49a867d..62fc04622 100644 --- a/lib/highlevel.c +++ b/lib/highlevel.c @@ -115,7 +115,7 @@ #include CURLcode -_Transfer (struct connectdata *c_conn) +_Transfer(struct connectdata *c_conn) { size_t nread; /* number of bytes read */ int bytecount = 0; /* total number of bytes read */ @@ -440,7 +440,7 @@ _Transfer (struct connectdata *c_conn) /* This is not an 'else if' since it may be a rest from the header parsing, where the beginning of the buffer is headers and the end is non-headers. */ - if (str && !header && (nread > 0)) { + if (str && !header && ((signed int)nread > 0)) { if(0 == bodywrites) { /* These checks are only made the first time we are about to @@ -490,7 +490,7 @@ _Transfer (struct connectdata *c_conn) if(data->maxdownload && (bytecount + nread > data->maxdownload)) { nread = data->maxdownload - bytecount; - if(nread < 0 ) /* this should be unusual */ + if((signed int)nread < 0 ) /* this should be unusual */ nread = 0; keepon &= ~KEEP_READ; /* we're done reading */ } @@ -518,15 +518,16 @@ _Transfer (struct connectdata *c_conn) buf = data->buffer; /* put it back on the buffer */ nread = data->fread(buf, 1, BUFSIZE, data->in); - writebytecount += nread; - pgrsSetUploadCounter(data, (double)writebytecount); - - if (nread<=0) { + /* the signed int typecase of nread of for systems that has + unsigned size_t */ + if ((signed int)nread<=0) { /* done */ keepon &= ~KEEP_WRITE; /* we're done writing */ break; } + writebytecount += nread; + pgrsSetUploadCounter(data, (double)writebytecount); /* convert LF to CRLF if so asked */ if (data->crlf) { -- cgit v1.2.3