rem: return err;
add: return ok;
context: read_block (size_t n, char *block, size_t *n_bytes_in_buffer){  int err = 0;  assert (0 < n && n <= bytes_per_block);  *n_bytes_in_buffer = 0;  if (n == 0)    return 0;  while (in_stream != NULL)	/* EOF.  */    {      size_t n_needed;      size_t n_read;      n_needed = n - *n_bytes_in_buffer;      n_read = fread (block + *n_bytes_in_buffer, 1, n_needed, in_stream);      *n_bytes_in_buffer += n_read;      if (n_read == n_needed)	break;      err |= check_and_close ();      err |= open_next_file ();    }  return err;}