rem: have_read_stdin = 1;
add: have_read_stdin = true;
context: sysv_sum_file (const char *file, int print_name){  int fd;  unsigned char buf[8192];  uintmax_t total_bytes = 0;  char hbuf[LONGEST_HUMAN_READABLE + 1];  int r;  int checksum;  /* The sum of all the input bytes, modulo (UINT_MAX + 1).  */  unsigned int s = 0;  if (STREQ (file, "-"))    {      fd = 0;      have_read_stdin = 1;    }  else    {      fd = open (file, O_RDONLY);      if (fd == -1)	{	  error (0, errno, "%s", file);	  return -1;	}    }  /* Need binary I/O, or else byte counts and checksums are incorrect.  */  SET_BINARY (fd);  while (1)    {      size_t i;      size_t bytes_read = safe_read (fd, buf, sizeof buf);      if (bytes_read == 0)	break;      if (bytes_read == SAFE_READ_ERROR)	{	  error (0, errno, "%s", file);	  if (!STREQ (file, "-"))	    close (fd);	  return -1;	}      for (i = 0; i < bytes_read; i++)	s += buf[i];      total_bytes += bytes_read;    }  if (!STREQ (file, "-") && close (fd) == -1)    {      error (0, errno, "%s", file);      return -1;    }  r = (s & 0xffff) + ((s & 0xffffffff) >> 16);  checksum = (r & 0xffff) + (r >> 16);  printf ("%d %s", checksum,	  human_readable (total_bytes, hbuf, human_ceiling, 1, 512));  if (print_name)    printf (" %s", file);  putchar ('\n');  return 0;}