svn commit: r355647 - head/usr.bin/showmount

Eitan Adler eadler at FreeBSD.org
Thu Dec 12 05:11:54 UTC 2019


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) {


More information about the svn-src-head mailing list