rem: assert (not_used == NULL);  if (hit_eof) return 0;  bytes_read = safe_read (0, (char *) buf, size); if (bytes_read == SAFE_READ_ERROR) error (EXIT_FAILURE, errno, _("read error")); if (bytes_read == 0) { hit_eof = 1; return 0; }
context: read_and_xlate (unsigned char *buf, size_t size, Filter not_used){  size_t bytes_read = 0;  static int hit_eof = 0;  size_t i;  assert (not_used == NULL);  if (hit_eof)    return 0;  bytes_read = safe_read (0, (char *) buf, size);  if (bytes_read == SAFE_READ_ERROR)    error (EXIT_FAILURE, errno, _("read error"));  if (bytes_read == 0)    {      hit_eof = 1;      return 0;    }  for (i = 0; i < bytes_read; i++)    buf[i] = xlate[buf[i]];  return bytes_read;}