rem: if ((*(x->xstat)) (src_path, &src_sb))
add: if (XSTAT (x, src_path, &src_sb))
context: re_protect (const char *const_dst_path, int src_offset,	    struct dir_attr *attr_list, const struct cp_options *x){  struct dir_attr *p;  char *dst_path;		/* A copy of CONST_DST_PATH we can change. */  char *src_path;		/* The source name in `dst_path'. */  uid_t myeuid = geteuid ();  dst_path = (char *) alloca (strlen (const_dst_path) + 1);  strcpy (dst_path, const_dst_path);  src_path = dst_path + src_offset;  for (p = attr_list; p; p = p->next)    {      struct stat src_sb;      dst_path[p->slash_offset] = '\0';      if ((*(x->xstat)) (src_path, &src_sb))	{	  error (0, errno, _("failed to get attributes of %s"),		 quote (src_path));	  return 1;	}      /* Adjust the times (and if possible, ownership) for the copy.	 chown turns off set[ug]id bits for non-root,	 so do the chmod last.  */      if (x->preserve_timestamps)	{	  struct utimbuf utb;	  /* There's currently no interface to set file timestamps with	     better than 1-second resolution, so discard any fractional	     part of the source timestamp.  */	  utb.actime = src_sb.st_atime;	  utb.modtime = src_sb.st_mtime;	  if (utime (dst_path, &utb))	    {	      error (0, errno, _("failed to preserve times for %s"),		     quote (dst_path));	      return 1;	    }	}      if (x->preserve_ownership)	{	  /* If non-root uses -p, it's ok if we can't preserve ownership.	     But root probably wants to know, e.g. if NFS disallows it,	     or if the target system doesn't support file ownership.  */	  if (chown (dst_path, src_sb.st_uid, src_sb.st_gid)	      && ((errno != EPERM && errno != EINVAL) || myeuid == 0))	    {	      error (0, errno, _("failed to preserve ownership for %s"),		     quote (dst_path));	      return 1;	    }	}      if (x->preserve_mode || p->is_new_dir)	{	  if (chmod (dst_path, src_sb.st_mode & x->umask_kill))	    {	      error (0, errno, _("failed to preserve permissions for %s"),		     quote (dst_path));	      return 1;	    }	}      dst_path[p->slash_offset] = '/';    }  return 0;}