Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 4 Jul 2014 04:47:29 +0000 (UTC)
From:      Eitan Adler <eadler@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r268242 - head/usr.bin/look
Message-ID:  <201407040447.s644lT4O006716@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: eadler
Date: Fri Jul  4 04:47:29 2014
New Revision: 268242
URL: http://svnweb.freebsd.org/changeset/base/268242

Log:
  look:	implement long options
  	gentoo has "util-linux 2.24.1" with long options.  Other distributions
  	have similar.
  
  	usage() is intentionally unchanged to keep it short and sweet
  
  Reviewed by:	jmg
  Discussed with:	adrian, jilles

Modified:
  head/usr.bin/look/look.1
  head/usr.bin/look/look.c

Modified: head/usr.bin/look/look.1
==============================================================================
--- head/usr.bin/look/look.1	Thu Jul  3 23:12:43 2014	(r268241)
+++ head/usr.bin/look/look.1	Fri Jul  4 04:47:29 2014	(r268242)
@@ -63,12 +63,12 @@ alphabetic characters is ignored.
 .Pp
 The following options are available:
 .Bl -tag -width indent
-.It Fl d
+.It Fl d , -alphanum
 Dictionary character set and order, i.e., only alphanumeric characters
 are compared.
-.It Fl f
+.It Fl f , -ignore-case
 Ignore the case of alphabetic characters.
-.It Fl t
+.It Fl t , -terminate Ar termchar
 Specify a string termination character, i.e., only the characters
 in
 .Ar string
@@ -106,7 +106,9 @@ implementation.
 .Pp
 The
 .Fl a
-flag is ignored for compability.
+and
+.Fl -alternative
+flags are ignored for compability.
 .Sh SEE ALSO
 .Xr grep 1 ,
 .Xr sort 1

Modified: head/usr.bin/look/look.c
==============================================================================
--- head/usr.bin/look/look.c	Thu Jul  3 23:12:43 2014	(r268241)
+++ head/usr.bin/look/look.c	Fri Jul  4 04:47:29 2014	(r268242)
@@ -59,6 +59,7 @@ __FBSDID("$FreeBSD$");
 #include <err.h>
 #include <errno.h>
 #include <fcntl.h>
+#include <getopt.h>
 #include <limits.h>
 #include <locale.h>
 #include <stdint.h>
@@ -88,6 +89,14 @@ static void	 print_from(wchar_t *, unsig
 
 static void usage(void);
 
+static struct option longopts[] = {
+	{ "alternative",no_argument,	NULL, 'a' },
+	{ "alphanum",	no_argument,	NULL, 'd' },
+	{ "ignore-case",no_argument,	NULL, 'i' },
+	{ "terminate",	required_argument, NULL, 't'},
+	{ NULL,		0,		NULL, 0 },
+};
+
 int
 main(int argc, char *argv[])
 {
@@ -102,7 +111,7 @@ main(int argc, char *argv[])
 
 	file = _path_words;
 	termchar = L'\0';
-	while ((ch = getopt(argc, argv, "adft:")) != -1)
+	while ((ch = getopt_long(argc, argv, "+adft:", longopts, NULL)) != -1)
 		switch(ch) {
 		case 'a':
 			/* COMPATIBILITY */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201407040447.s644lT4O006716>