summaryrefslogtreecommitdiff
path: root/usr.bin/seq
diff options
context:
space:
mode:
authorKyle Evans <kevans@FreeBSD.org>2018-04-30 18:55:01 +0000
committerKyle Evans <kevans@FreeBSD.org>2018-04-30 18:55:01 +0000
commita3f2c2feb132de5f141fbcae860ce6ab37a7a86d (patch)
tree93cc3341a2cba468254de949d3b2203da5b0ba25 /usr.bin/seq
parentf8bc08fa57ae4bc63b98f2de286f9faf354bc2f5 (diff)
downloadsrc-test-a3f2c2feb132de5f141fbcae860ce6ab37a7a86d.tar.gz
src-test-a3f2c2feb132de5f141fbcae860ce6ab37a7a86d.zip
seq(1): Provide some long options
These match GNU seq(1) names where applicable for compatibility purposes. MFC after: 1 month
Notes
Notes: svn path=/head/; revision=333122
Diffstat (limited to 'usr.bin/seq')
-rw-r--r--usr.bin/seq/seq.110
-rw-r--r--usr.bin/seq/seq.c12
2 files changed, 16 insertions, 6 deletions
diff --git a/usr.bin/seq/seq.1 b/usr.bin/seq/seq.1
index 176b17c3f5a90..61294c5491eac 100644
--- a/usr.bin/seq/seq.1
+++ b/usr.bin/seq/seq.1
@@ -29,7 +29,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd August 12, 2016
+.Dd April 30, 2018
.Dt SEQ 1
.Os
.Sh NAME
@@ -72,7 +72,7 @@ The
.Nm
utility accepts the following options:
.Bl -tag -width Ar
-.It Fl f Ar format
+.It Fl f Ar format , Fl -format Ar format
Use a
.Xr printf 3
style
@@ -98,7 +98,7 @@ defined in
.St -ansiC .
The default is
.Cm %g .
-.It Fl s Ar string
+.It Fl s Ar string , Fl -separator Ar string
Use
.Ar string
to separate numbers.
@@ -109,7 +109,7 @@ defined in
.St -ansiC .
The default is
.Cm \en .
-.It Fl t Ar string
+.It Fl t Ar string , Fl -terminator Ar string
Use
.Ar string
to terminate sequence of numbers.
@@ -121,7 +121,7 @@ defined in
This option is useful when the default separator
does not contain a
.Cm \en .
-.It Fl w
+.It Fl w , Fl -fixed-width
Equalize the widths of all numbers by padding with zeros as necessary.
This option has no effect with the
.Fl f
diff --git a/usr.bin/seq/seq.c b/usr.bin/seq/seq.c
index 3ffcb6108dd05..411cae2182662 100644
--- a/usr.bin/seq/seq.c
+++ b/usr.bin/seq/seq.c
@@ -36,6 +36,7 @@ __FBSDID("$FreeBSD$");
#include <ctype.h>
#include <err.h>
#include <errno.h>
+#include <getopt.h>
#include <math.h>
#include <locale.h>
#include <stdio.h>
@@ -67,6 +68,15 @@ static int valid_format(const char *);
static char *generate_format(double, double, double, int, char);
static char *unescape(char *);
+static const struct option long_opts[] =
+{
+ {"format", required_argument, NULL, 'f'},
+ {"separator", required_argument, NULL, 's'},
+ {"terminator", required_argument, NULL, 't'},
+ {"equal-width", no_argument, NULL, 'w'},
+ {NULL, no_argument, NULL, 0}
+};
+
/*
* The seq command will print out a numeric sequence from 1, the default,
* to a user specified upper limit by 1. The lower bound and increment
@@ -100,7 +110,7 @@ main(int argc, char *argv[])
* least they trip up getopt(3).
*/
while ((optind < argc) && !numeric(argv[optind]) &&
- (c = getopt(argc, argv, "f:hs:t:w")) != -1) {
+ (c = getopt_long(argc, argv, "+f:hs:t:w", long_opts, NULL)) != -1) {
switch (c) {
case 'f': /* format (plan9) */