X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=utils%2Fmount%2Fmount.c;h=b4da21faa74508160ffde358ed96dd40074f3de6;hp=909fedf8e0d2ba3abe96267170844efbb8bfa70f;hb=c62d756402509ca5d07c1fd4d2e5a9d78dc4171b;hpb=9082582d6675e45067838805a65b6fcc07164557 diff --git a/utils/mount/mount.c b/utils/mount/mount.c index 909fedf..b4da21f 100644 --- a/utils/mount/mount.c +++ b/utils/mount/mount.c @@ -24,6 +24,7 @@ #include #include +#include #include #include #include @@ -208,7 +209,7 @@ static char *fix_opts_string(int flags, const char *extra_opts) } if (flags & MS_USERS) new_opts = xstrconcat3(new_opts, ",users", ""); - + for (om = opt_map; om->opt != NULL; om++) { if (om->skip) continue; @@ -280,7 +281,7 @@ static int add_mtab(char *spec, char *mount_point, char *fstype, ment.mnt_fsname = spec; ment.mnt_dir = mount_point; ment.mnt_type = fstype; - ment.mnt_opts = fix_opts_string(flags, opts); + ment.mnt_opts = fix_opts_string(flags & ~MS_NOMTAB, opts); ment.mnt_freq = freq; ment.mnt_passno = pass; @@ -320,7 +321,7 @@ static int add_mtab(char *spec, char *mount_point, char *fstype, return result; } -void mount_usage(void) +static void mount_usage(void) { printf(_("usage: %s remotetarget dir [-rvVwfnsih] [-o nfsoptions]\n"), progname); @@ -336,7 +337,7 @@ void mount_usage(void) printf(_("\tnfsoptions\tRefer to mount.nfs(8) or nfs(5)\n\n")); } -static void parse_opt(const char *opt, int *mask, char *extra_opts, int len) +static void parse_opt(const char *opt, int *mask, char *extra_opts, size_t len) { const struct opt_map *om; @@ -370,7 +371,7 @@ static void parse_opts(const char *options, int *flags, char **extra_opts) if (options != NULL) { char *opts = xstrdup(options); char *opt, *p; - int len = strlen(opts) + 1; /* include room for a null */ + size_t len = strlen(opts) + 1; /* include room for a null */ int open_quote = 0; *extra_opts = xmalloc(len); @@ -475,7 +476,7 @@ int main(int argc, char *argv[]) spec = argv[1]; mount_point = argv[2]; - mount_config_init(); + mount_config_init(progname); argv[2] = argv[0]; /* so that getopt error messages are correct */ while ((c = getopt_long(argc - 2, argv + 2, "rvVwfno:hs", @@ -593,6 +594,9 @@ int main(int argc, char *argv[]) if (mnt_err == EX_BG) { printf(_("%s: backgrounding \"%s\"\n"), progname, spec); + printf(_("%s: mount options: \"%s\"\n"), + progname, extra_opts); + fflush(stdout); /*