X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=utils%2Fmount%2Fnfsmount.c;h=bd3403c33ec4c8cacf7f8ce0d40dc2444d6d643c;hp=89fd4a32f05144530cee2146fef6c649fa3265fd;hb=a786c016f0af6fa116ae2483d6261dbed009d87e;hpb=c7cec7fbd3fc9f46a17519d95b8211cf78e328c0 diff --git a/utils/mount/nfsmount.c b/utils/mount/nfsmount.c index 89fd4a3..bd3403c 100644 --- a/utils/mount/nfsmount.c +++ b/utils/mount/nfsmount.c @@ -23,7 +23,7 @@ * * 1999-02-22 Arkadiusz Mi¶kiewicz * - added Native Language Support - * + * * Modified by Olaf Kirch and Trond Myklebust for new NFS code, * plus NFSv3 stuff. * @@ -56,10 +56,8 @@ #include #include -#include "conn.h" #include "xcommon.h" #include "mount.h" -#include "nfsumount.h" #include "nfs_mount.h" #include "mount_constants.h" #include "nls.h" @@ -93,7 +91,7 @@ extern char *progname; extern int verbose; extern int sloppy; -extern int linux_version_code(); +extern int linux_version_code(void); static inline enum clnt_stat nfs3_mount(CLIENT *clnt, mnt3arg_t *mnt3arg, mnt3res_t *mnt3res) @@ -273,7 +271,8 @@ parse_options(char *old_opts, struct nfs_mount_data *data, char *secflavor = opteq+1; /* see RFC 2623 */ if (nfs_mount_data_version < 5) { - printf(_("Warning: ignoring sec=%s option\n"), secflavor); + printf(_("Warning: ignoring sec=%s option\n"), + secflavor); continue; } else if (!strcmp(secflavor, "none")) data->pseudoflavor = AUTH_NONE; @@ -314,8 +313,9 @@ parse_options(char *old_opts, struct nfs_mount_data *data, int ctxlen = strlen(context); if (ctxlen > NFS_MAX_CONTEXT_LEN) { - printf(_("context parameter exceeds limit of %d\n"), - NFS_MAX_CONTEXT_LEN); + nfs_error(_("context parameter exceeds" + " limit of %d"), + NFS_MAX_CONTEXT_LEN); goto bad_parameter; } /* The context string is in the format of @@ -339,9 +339,9 @@ parse_options(char *old_opts, struct nfs_mount_data *data, val = 0; opt += 2; } - if (!strcmp(opt, "bg")) + if (!strcmp(opt, "bg")) *bg = val; - else if (!strcmp(opt, "fg")) + else if (!strcmp(opt, "fg")) *bg = !val; else if (!strcmp(opt, "soft")) { data->flags &= ~NFS_MOUNT_SOFT; @@ -427,15 +427,17 @@ parse_options(char *old_opts, struct nfs_mount_data *data, bad_option: if (sloppy) continue; - printf(_("Unsupported nfs mount option: " - "%s%s\n"), val ? "" : "no", opt); + nfs_error(_("%s: Unsupported nfs mount option:" + " %s%s"), progname, + val ? "" : "no", opt); goto out_bad; } sprintf(cbuf, val ? "%s,":"no%s,", opt); } len += strlen(cbuf); if (len >= opt_size) { - printf(_("mount: excessively long option argument\n")); + nfs_error(_("%s: excessively long option argument"), + progname); goto out_bad; } strcat(new_opts, cbuf); @@ -448,7 +450,7 @@ parse_options(char *old_opts, struct nfs_mount_data *data, } return 1; bad_parameter: - printf(_("Bad nfs mount parameter: %s\n"), opt); + nfs_error(_("%s: Bad nfs mount parameter: %s\n"), progname, opt); out_bad: return 0; } @@ -460,22 +462,22 @@ static int nfsmnt_check_compat(const struct pmap *nfs_pmap, unsigned int max_mnt_vers = (nfs_mount_data_version >= 4) ? 3 : 2; if (nfs_pmap->pm_vers == 4) { - fprintf(stderr, _("Please use '-t nfs4' " - "instead of '-o vers=4'.\n")); + nfs_error(_("%s: Please use '-t nfs4' " + "instead of '-o vers=4'"), progname); goto out_bad; } if (nfs_pmap->pm_vers) { if (nfs_pmap->pm_vers > max_nfs_vers || nfs_pmap->pm_vers < 2) { - fprintf(stderr, _("NFS version %ld is not supported.\n"), - nfs_pmap->pm_vers); + nfs_error(_("%s: NFS version %ld is not supported"), + progname, nfs_pmap->pm_vers); goto out_bad; } } if (mnt_pmap->pm_vers > max_mnt_vers) { - fprintf(stderr, _("NFS mount version %ld s not supported.\n"), - mnt_pmap->pm_vers); + nfs_error(_("%s: NFS mount version %ld s not supported"), + progname, mnt_pmap->pm_vers); goto out_bad; } @@ -487,20 +489,20 @@ out_bad: int nfsmount(const char *spec, const char *node, int flags, - char **extra_opts, int running_bg, int fake) + char **extra_opts, int fake) { static char *prev_bg_host; char hostdir[1024]; char *hostname, *dirname, *old_opts, *mounthost = NULL; char new_opts[1024], cbuf[1024]; static struct nfs_mount_data data; - int val; + int val, running_bg = 0; static int doonce = 0; clnt_addr_t mnt_server = { &mounthost, }; clnt_addr_t nfs_server = { &hostname, }; struct sockaddr_in *nfs_saddr = &nfs_server.saddr; - struct pmap *mnt_pmap = &mnt_server.pmap, + struct pmap *mnt_pmap = &mnt_server.pmap, *nfs_pmap = &nfs_server.pmap; struct pmap save_mnt, save_nfs; @@ -517,8 +519,8 @@ nfsmount(const char *spec, const char *node, int flags, time_t timeout; if (strlen(spec) >= sizeof(hostdir)) { - fprintf(stderr, _("mount: " - "excessively long host:dir argument\n")); + nfs_error(_("%s: excessively long host:dir argument"), + progname); goto fail; } strcpy(hostdir, spec); @@ -530,14 +532,13 @@ nfsmount(const char *spec, const char *node, int flags, until they can be fully supported. (mack@sgi.com) */ if ((s = strchr(hostdir, ','))) { *s = '\0'; - fprintf(stderr, - _("mount: warning: " - "multiple hostnames not supported\n")); + nfs_error(_("%s: warning: " + "multiple hostnames not supported"), + progname); } } else { - fprintf(stderr, - _("mount: " - "directory to mount not in host:dir format\n")); + nfs_error(_("%s: directory to mount not in host:dir format"), + progname); goto fail; } @@ -717,10 +718,9 @@ nfsmount(const char *spec, const char *node, int flags, if (nfs_pmap->pm_vers == 2) { if (mntres.nfsv2.fhs_status != 0) { - fprintf(stderr, - _("mount: %s:%s failed, reason given by server: %s\n"), - hostname, dirname, - nfs_strerror(mntres.nfsv2.fhs_status)); + nfs_error(_("%s: %s:%s failed, reason given by server: %s"), + progname, hostname, dirname, + nfs_strerror(mntres.nfsv2.fhs_status)); goto fail; } memcpy(data.root.data, @@ -738,16 +738,15 @@ nfsmount(const char *spec, const char *node, int flags, fhandle3 *fhandle; int i, *flavor, yum = 0; if (mntres.nfsv3.fhs_status != 0) { - fprintf(stderr, - _("mount: %s:%s failed, reason given by server: %s\n"), - hostname, dirname, - nfs_strerror(mntres.nfsv3.fhs_status)); + nfs_error(_("%s: %s:%s failed, reason given by server: %s"), + progname, hostname, dirname, + nfs_strerror(mntres.nfsv3.fhs_status)); goto fail; } #if NFS_MOUNT_VERSION >= 5 mountres = &mntres.nfsv3.mountres3_u.mountinfo; i = mountres->auth_flavors.auth_flavors_len; - if (i <= 0) + if (i <= 0) goto noauth_flavors; flavor = mountres->auth_flavors.auth_flavors_val; @@ -769,10 +768,9 @@ nfsmount(const char *spec, const char *node, int flags, #endif } if (!yum) { - fprintf(stderr, - "mount: %s:%s failed, " - "security flavor not supported\n", - hostname, dirname); + nfs_error(_("%s: %s:%s failed, security flavor " + "not supported"), + progname, hostname, dirname); /* server has registered us in rmtab, send umount */ nfs_call_umount(&mnt_server, &dirname); goto fail; @@ -839,8 +837,8 @@ noauth_flavors: out_ok: /* Ensure we have enough padding for the following strcat()s */ if (strlen(new_opts) + strlen(s) + 30 >= sizeof(new_opts)) { - fprintf(stderr, _("mount: " - "excessively long option argument\n")); + nfs_error(_("%s: excessively long option argument"), + progname); goto fail; }