Author: eadler
Date: Thu Dec 12 05:11:53 2019
New Revision: 355647
URL: https://svnweb.freebsd.org/changeset/base/355647

Log:
  [showmount] implement long options
  
  add long options support to showmount. Where mappings exist use the GNU
  names for said options.
  
  Differential Revision:        https://reviews.freebsd.org/D22543
  Reviewed by:          kevans (earlier version)

Modified:
  head/usr.bin/showmount/showmount.8
  head/usr.bin/showmount/showmount.c

Modified: head/usr.bin/showmount/showmount.8
==============================================================================
--- head/usr.bin/showmount/showmount.8  Thu Dec 12 04:47:02 2019        
(r355646)
+++ head/usr.bin/showmount/showmount.8  Thu Dec 12 05:11:53 2019        
(r355647)
@@ -67,20 +67,20 @@ for a detailed description of the protocol.
 .Pp
 The following options are available:
 .Bl -tag -width indent
-.It Fl a
+.It Fl a , Fl -all
 List all mount points in the form:
 .Bd -ragged -offset indent -compact
 .Ar host : Ns Ar dirpath .
 .Ed
-.It Fl d
+.It Fl d , Fl -directories
 List directory paths of mount points instead of hosts.
-.It Fl E
+.It Fl E , Fl -exports-script
 Show the
 .Ar host Ns 's
 exports list in a script-friendly format.
 Client addresses and the header are not shown, and special
 characters are escaped.
-.It Fl e
+.It Fl e , Fl -exports
 Show the
 .Ar host Ns 's
 exports list.

Modified: head/usr.bin/showmount/showmount.c
==============================================================================
--- head/usr.bin/showmount/showmount.c  Thu Dec 12 04:47:02 2019        
(r355646)
+++ head/usr.bin/showmount/showmount.c  Thu Dec 12 05:11:53 2019        
(r355647)
@@ -53,6 +53,7 @@ static const char rcsid[] =
 #include <sys/socketvar.h>
 
 #include <err.h>
+#include <getopt.h>
 #include <netdb.h>
 #include <rpc/rpc.h>
 #include <rpc/pmap_clnt.h>
@@ -102,6 +103,14 @@ int xdr_exportslist(XDR *, struct exportslist **);
 int tcp_callrpc(const char *host, int prognum, int versnum, int procnum,
                xdrproc_t inproc, char *in, xdrproc_t outproc, char *out);
 
+static const struct option long_opts[] = {
+       { "all",                        no_argument,    NULL,   'a' },
+       { "directories",        no_argument,    NULL,   'd' },
+       { "exports-script",     no_argument,    NULL,   'E' },
+       { "exports",            no_argument,    NULL,   'e' },
+       { NULL,                         0,                              NULL,   
0 },
+};
+
 /*
  * This command queries the NFS mount daemon for it's mount list and/or
  * it's exports list and prints them out.
@@ -119,7 +128,7 @@ main(int argc, char **argv)
        const char *host;
        int ch, estat, nbytes;
 
-       while ((ch = getopt(argc, argv, "adEe13")) != -1)
+       while ((ch = getopt_long(argc, argv, "+adEe13", long_opts, NULL)) != -1)
                switch (ch) {
                case 'a':
                        if (type == 0) {
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to