]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - utils/nfsd/nfsd.c
nfs-utils: move nfssvc.c to nfsd dir and clean up linking of nfsd
[nfs-utils.git] / utils / nfsd / nfsd.c
index ac264da28c6041cacf8ad0c2ab2c98c4e66782a7..8563c5c6e994b0ecfa8e9a28f795b7e594dcde75 100644 (file)
@@ -25,6 +25,7 @@
 #include <arpa/inet.h>
 
 #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: