- enum clnt_stat clnt_stat;
- int so = RPC_ANYSOCK;
- char *hostp, *delimp;
-#endif /* NFS */
-
- if (stat(name, &stbuf) < 0) {
- if (getmntname(name, MNTFROM, &type) != 0)
- mntpt = name;
- else if ((mntpt = getmntname(name, MNTON, &type)) == 0) {
- fprintf(stderr, "%s: not currently mounted\n", name);
- return (0);
+ CLIENT *clp;
+ int so, type;
+ char *delimp, *hostp, *mntpt, rname[MAXPATHLEN];
+
+ if (realpath(name, rname) == NULL) {
+ warn("%s", rname);
+ return (1);
+ }
+
+ name = rname;
+
+ if (stat(name, &sb) < 0) {
+ if (((mntpt = getmntname(name, MNTFROM, &type)) == NULL) &&
+ ((mntpt = getmntname(name, MNTON, &type)) == NULL)) {
+ warnx("%s: not currently mounted", name);
+ return (1);