rem: ssize_t result;
add: enum { BUGGY_READ_MAXIMUM = INT_MAX & ~8191 };
context: safe_rw (int fd, void const *buf, size_t count){  ssize_t result;  /* POSIX limits COUNT to SSIZE_MAX, but we limit it further, requiring     that COUNT <= INT_MAX, to avoid triggering a bug in Tru64 5.1.     When decreasing COUNT, keep the file pointer block-aligned.     Note that in any case, read(write) may succeed, yet read(write)     fewer than COUNT bytes, so the caller must be prepared to handle     partial results.  */  if (count > INT_MAX)    count = INT_MAX & ~8191;  do    {      result = rw (fd, buf, count);    }  while (result < 0 && IS_EINTR (errno));  return (size_t) result;}