Applied a patch from David Kaelbling:
some compilers (like the SGI IRIX 6.x native one) enfore the "casts are not lvalues" maxim.
This commit is contained in:
@@ -30,6 +30,7 @@ do_read (int s, void *ptr, size_t total_size)
|
|||||||
{
|
{
|
||||||
int nread;
|
int nread;
|
||||||
size_t already_read = 0, remaining = total_size;
|
size_t already_read = 0, remaining = total_size;
|
||||||
|
char *tmp_ptr;
|
||||||
|
|
||||||
while (already_read < total_size) {
|
while (already_read < total_size) {
|
||||||
nread = recv (s, ptr, remaining, 0);
|
nread = recv (s, ptr, remaining, 0);
|
||||||
@@ -46,7 +47,10 @@ do_read (int s, void *ptr, size_t total_size)
|
|||||||
|
|
||||||
already_read += nread;
|
already_read += nread;
|
||||||
remaining -= nread;
|
remaining -= nread;
|
||||||
(char *) ptr += nread;
|
/* (char *) ptr += nread; */
|
||||||
|
tmp_ptr = ptr;
|
||||||
|
tmp_ptr += nread;
|
||||||
|
ptr = tmp_ptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -62,6 +62,7 @@ int
|
|||||||
do_read (int s, void *ptr, size_t total_size)
|
do_read (int s, void *ptr, size_t total_size)
|
||||||
{
|
{
|
||||||
int nread;
|
int nread;
|
||||||
|
char *tmp_ptr;
|
||||||
size_t already_read = 0, remaining = total_size;
|
size_t already_read = 0, remaining = total_size;
|
||||||
|
|
||||||
while (already_read < total_size) {
|
while (already_read < total_size) {
|
||||||
@@ -82,7 +83,10 @@ do_read (int s, void *ptr, size_t total_size)
|
|||||||
|
|
||||||
already_read += nread;
|
already_read += nread;
|
||||||
remaining -= nread;
|
remaining -= nread;
|
||||||
(char *) ptr += nread;
|
/* (char *) ptr += nread; */
|
||||||
|
tmp_ptr = ptr;
|
||||||
|
tmp_ptr += nread;
|
||||||
|
ptr = tmp_ptr;
|
||||||
|
|
||||||
#ifdef REAL_DEBUG
|
#ifdef REAL_DEBUG
|
||||||
fprintf (stderr, "READ (%d): %d - %d - %d\n",
|
fprintf (stderr, "READ (%d): %d - %d - %d\n",
|
||||||
|
Reference in New Issue
Block a user