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 */
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to