rem: return 0;
add: return true;
context: bsd_sum_file (const char *file, int print_name){  register FILE *fp;  register int checksum = 0;	/* The checksum mod 2^16. */  register uintmax_t total_bytes = 0;	/* The number of bytes. */  register int ch;		/* Each character read. */  char hbuf[LONGEST_HUMAN_READABLE + 1];  if (STREQ (file, "-"))    {      fp = stdin;      have_read_stdin = 1;    }  else    {      fp = fopen (file, "r");      if (fp == NULL)	{	  error (0, errno, "%s", file);	  return -1;	}    }  /* Need binary I/O, or else byte counts and checksums are incorrect.  */  SET_BINARY (fileno(fp));  while ((ch = getc (fp)) != EOF)    {      total_bytes++;      checksum = (checksum >> 1) + ((checksum & 1) << 15);      checksum += ch;      checksum &= 0xffff;	/* Keep it within bounds. */    }  if (ferror (fp))    {      error (0, errno, "%s", file);      if (!STREQ (file, "-"))	fclose (fp);      return -1;    }  if (!STREQ (file, "-") && fclose (fp) == EOF)    {      error (0, errno, "%s", file);      return -1;    }  printf ("%05d %5s", checksum,	  human_readable (total_bytes, hbuf, human_ceiling, 1, 1024));  if (print_name > 1)    printf (" %s", file);  putchar ('\n');  return 0;}