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:
Martin Baulig
1999-05-06 22:10:04 +00:00
parent 6120c5e4a8
commit 3753ac5ee6
2 changed files with 10 additions and 2 deletions

View File

@@ -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;
} }
} }

View File

@@ -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",