rem: err = do_wipefd (fd, qname, s, flags);
add: ok = do_wipefd (fd, qname, s, flags);
context: wipefile (char *name, char const *qname,	  struct isaac_state *s, struct Options const *flags){  int err, fd;  fd = open (name, O_WRONLY | O_NOCTTY);  if (fd < 0)    {      if (errno == EACCES && flags->force)	{	  if (chmod (name, S_IWUSR) >= 0) /* 0200, user-write-only */	    fd = open (name, O_WRONLY | O_NOCTTY);	}      else if ((errno == ENOENT || errno == ENOTDIR)	       && strncmp (name, "/dev/fd/", 8) == 0)	{	  /* We accept /dev/fd/# even if the OS doesn't support it */	  int errnum = errno;	  unsigned long num;	  char *p;	  errno = 0;	  num = strtoul (name + 8, &p, 10);	  /* If it's completely decimal with no leading zeros... */	  if (errno == 0 && !*p && num <= INT_MAX &&	      (('1' <= name[8] && name[8] <= '9')	       || (name[8] == '0' && !name[9])))	    {	      return wipefd ((int) num, qname, s, flags);	    }	  errno = errnum;	}    }  if (fd < 0)    {      error (0, errno, "%s", qname);      return -1;    }  err = do_wipefd (fd, qname, s, flags);  if (close (fd) != 0)    {      error (0, 0, "%s: close", qname);      err = -1;    }  if (err == 0 && flags->remove_file)    {      err = wipename (name, qname, flags);      if (err < 0)	error (0, 0, _("%s: cannot remove"), qname);    }  return err;}