X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;ds=sidebyside;f=utils%2Fnfsd%2Fnfsd.c;h=8563c5c6e994b0ecfa8e9a28f795b7e594dcde75;hb=f8dd0b70ecf5a02eda29af4acead86f3359c3081;hp=ac264da28c6041cacf8ad0c2ab2c98c4e66782a7;hpb=b750909f50fb184cb82344d40a150f0d2760ef21;p=nfs-utils.git diff --git a/utils/nfsd/nfsd.c b/utils/nfsd/nfsd.c index ac264da..8563c5c 100644 --- a/utils/nfsd/nfsd.c +++ b/utils/nfsd/nfsd.c @@ -25,6 +25,7 @@ #include #include "nfslib.h" +#include "nfssvc.h" static void usage(const char *); @@ -41,7 +42,7 @@ static struct option longopts[] = }; unsigned int protobits = NFSCTL_ALLBITS; unsigned int versbits = NFSCTL_ALLBITS; -int minorvers4; /* nfsv4 minor version */ +int minorvers4 = NFSD_MAXMINORVERS4; /* nfsv4 minor version */ char *haddr = NULL; int @@ -50,6 +51,7 @@ main(int argc, char **argv) int count = 1, c, error, port, fd, found_one; struct servent *ent; struct hostent *hp; + char *p; ent = getservbyname ("nfs", "udp"); if (ent != NULL) @@ -80,10 +82,14 @@ main(int argc, char **argv) } break; case 'N': - switch((c = atoi(optarg))) { - case 2: - case 3: + switch((c = strtol(optarg, &p, 0))) { case 4: + if (*p == '.') { + minorvers4 = -atoi(p + 1); + break; + } + case 3: + case 2: NFSCTL_VERUNSET(versbits, c); break; default: