diff options
author | trasz <trasz@FreeBSD.org> | 2014-09-08 10:57:43 +0000 |
---|---|---|
committer | trasz <trasz@FreeBSD.org> | 2014-09-08 10:57:43 +0000 |
commit | 4826dbd2da63d3a24699446af898476913e861f0 (patch) | |
tree | e80dc494de8cf34e29072b22d8a6d4b909a544ab /contrib/smbfs | |
parent | 6224f5c9f14f60cc6203ad68f112f57f4a9eedbf (diff) | |
download | FreeBSD-src-4826dbd2da63d3a24699446af898476913e861f0.zip FreeBSD-src-4826dbd2da63d3a24699446af898476913e861f0.tar.gz |
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.
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Diffstat (limited to 'contrib/smbfs')
-rw-r--r-- | contrib/smbfs/mount_smbfs/mount_smbfs.c | 9 |
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]) { |