rem: if (best_match && !STREQ (best_match->me_type, "lofs") && stat (best_match->me_mountdir, &disk_stats) == 0 && disk_stats.st_dev == statp->st_dev) { me = best_match; goto show_me; } }  for (me = mount_list; me; me = me->me_next) { if (me->me_dev == (dev_t) -1)
add: char *mp = find_mount_point (point, statp); if (mp)
context: show_point (const char *point, const struct stat *statp){  struct stat disk_stats;  struct mount_entry *me;  struct mount_entry *matching_dummy = NULL;  /* If POINT is an absolute path name, see if we can find the     mount point without performing any extra stat calls at all.  */  if (*point == '/')    {      for (me = mount_list; me; me = me->me_next)	{	  if (STREQ (me->me_mountdir, point) && !STREQ (me->me_type, "lofs"))	    {	      /* Prefer non-dummy entries.  */	      if (! me->me_dummy)		goto show_me;	      matching_dummy = me;	    }	}      if (matching_dummy)	goto show_matching_dummy;    }  /* Calculate the real absolute path for POINT, and use that to find     the mount point.  This avoids statting unavailable mount points,     which can hang df.  */  {    char *resolved = canonicalize_file_name (point);    ssize_t resolved_len = resolved ? strlen (resolved) : -1;    struct mount_entry *best_match = NULL;    if (1 <= resolved_len && resolved[0] == '/')      {	size_t best_match_len = 0;	for (me = mount_list; me; me = me->me_next)	  if (! me->me_dummy)	    {	      size_t len = strlen (me->me_mountdir);	      if (best_match_len < len && len <= resolved_len		  && (len == 1 /* root file system */		      || ((len == resolved_len || resolved[len] == '/')			  && strncmp (me->me_mountdir, resolved, len) == 0)))		{		  best_match = me;		  best_match_len = len;		}	    }      }    if (resolved)      free (resolved);    if (best_match && !STREQ (best_match->me_type, "lofs")	&& stat (best_match->me_mountdir, &disk_stats) == 0	&& disk_stats.st_dev == statp->st_dev)      {	me = best_match;	goto show_me;      }  }  for (me = mount_list; me; me = me->me_next)    {      if (me->me_dev == (dev_t) -1)	{	  if (stat (me->me_mountdir, &disk_stats) == 0)	    me->me_dev = disk_stats.st_dev;	  else	    {	      error (0, errno, "%s", quote (me->me_mountdir));	      exit_status = 1;	      /* So we won't try and fail repeatedly. */	      me->me_dev = (dev_t) -2;	    }	}      if (statp->st_dev == me->me_dev)	{	  /* Skip bogus mtab entries.  */	  if (stat (me->me_mountdir, &disk_stats) != 0	      || disk_stats.st_dev != me->me_dev)	    {	      me->me_dev = (dev_t) -2;	      continue;	    }	  /* Prefer non-dummy entries.  */	  if (! me->me_dummy)	    goto show_me;	  matching_dummy = me;	}    }  if (matching_dummy)    goto show_matching_dummy;  /* We couldn't find the mount entry corresponding to POINT.  Go ahead and     print as much info as we can; methods that require the device to be     present will fail at a later point.  */  {    /* Find the actual mount point.  */    char *mp = find_mount_point (point, statp);    if (mp)      {	show_dev (0, mp, 0, 0, 0);	free (mp);      }    else      error (0, errno, "%s", quote (point));  }  return; show_matching_dummy:  me = matching_dummy; show_me:  show_dev (me->me_devname, me->me_mountdir, me->me_type, me->me_dummy,	    me->me_remote);}