summaryrefslogtreecommitdiffstats
path: root/contrib/smbfs/mount_smbfs
diff options
context:
space:
mode:
authortrasz <trasz@FreeBSD.org>2014-09-25 17:47:26 +0000
committertrasz <trasz@FreeBSD.org>2014-09-25 17:47:26 +0000
commit7688b8f62ed48ee55b407507aace051a59ebf123 (patch)
treeaed89d1e6b9a8fab1735de145f674e20e5f6380d /contrib/smbfs/mount_smbfs
parentac1ecb285f93d2651d22f7aac685f9aa1efce4e4 (diff)
downloadFreeBSD-src-7688b8f62ed48ee55b407507aace051a59ebf123.zip
FreeBSD-src-7688b8f62ed48ee55b407507aace051a59ebf123.tar.gz
MFC r271258:
Make mount_smbfs(8) preserve the "automounted" mount flag. The issue here is that we have to pass this flag as a string, in iov, because it doesn't fit in mntflags, which is an int. Approved by: re (gjb) Sponsored by: The FreeBSD Foundation
Diffstat (limited to 'contrib/smbfs/mount_smbfs')
-rw-r--r--contrib/smbfs/mount_smbfs/mount_smbfs.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/contrib/smbfs/mount_smbfs/mount_smbfs.c b/contrib/smbfs/mount_smbfs/mount_smbfs.c
index 8f159ce..99f1cee 100644
--- a/contrib/smbfs/mount_smbfs/mount_smbfs.c
+++ b/contrib/smbfs/mount_smbfs/mount_smbfs.c
@@ -81,7 +81,7 @@ main(int argc, char *argv[])
#else
struct xvfsconf vfc;
#endif
- char *next;
+ char *next, *p, *val;
int opt, error, mntflags, caseopt, fd;
uid_t uid;
gid_t gid;
@@ -194,6 +194,13 @@ main(int argc, char *argv[])
};
case 'o':
getmntopts(optarg, mopts, &mntflags, 0);
+ p = strchr(optarg, '=');
+ val = NULL;
+ if (p != NULL) {
+ *p = '\0';
+ val = p + 1;
+ }
+ build_iovec(&iov, &iovlen, optarg, val, (size_t)-1);
break;
case 'c':
switch (optarg[0]) {
OpenPOWER on IntegriCloud