svn commit: r333157 - head/usr.bin/cmp
Kyle Evans
kevans at FreeBSD.org
Wed May 2 01:32:35 UTC 2018
Author: kevans
Date: Wed May 2 01:32:34 2018
New Revision: 333157
URL: https://svnweb.freebsd.org/changeset/base/333157
Log:
cmp(1): Provide some long options
These match GNU cmp(1) for compatibility where applicable.
Future work might implement the -i option from GNU cmp(1) to express skip
either in terms of both files or of the form "SKIP1:SKIP2" rather than
specifying them as additional arguments to cmp(1).
MFC after: 1 month
Modified:
head/usr.bin/cmp/cmp.1
head/usr.bin/cmp/cmp.c
Modified: head/usr.bin/cmp/cmp.1
==============================================================================
--- head/usr.bin/cmp/cmp.1 Wed May 2 01:17:08 2018 (r333156)
+++ head/usr.bin/cmp/cmp.1 Wed May 2 01:32:34 2018 (r333157)
@@ -31,7 +31,7 @@
.\" @(#)cmp.1 8.1 (Berkeley) 6/6/93
.\" $FreeBSD$
.\"
-.Dd November 18, 2013
+.Dd May 1, 2018
.Dt CMP 1
.Os
.Sh NAME
@@ -59,10 +59,10 @@ The following options are available:
.Bl -tag -width indent
.It Fl h
Do not follow symbolic links.
-.It Fl l
+.It Fl l , Fl -verbose
Print the byte number (decimal) and the differing
byte values (octal) for each difference.
-.It Fl s
+.It Fl s , Fl -silent , Fl -quiet
Print nothing for differing files; return exit
status only.
.It Fl x
Modified: head/usr.bin/cmp/cmp.c
==============================================================================
--- head/usr.bin/cmp/cmp.c Wed May 2 01:17:08 2018 (r333156)
+++ head/usr.bin/cmp/cmp.c Wed May 2 01:32:34 2018 (r333157)
@@ -52,6 +52,7 @@ __FBSDID("$FreeBSD$");
#include <err.h>
#include <errno.h>
#include <fcntl.h>
+#include <getopt.h>
#include <nl_types.h>
#include <stdio.h>
#include <stdlib.h>
@@ -62,6 +63,14 @@ __FBSDID("$FreeBSD$");
int lflag, sflag, xflag, zflag;
+static const struct option long_opts[] =
+{
+ {"verbose", no_argument, NULL, 'l'},
+ {"silent", no_argument, NULL, 's'},
+ {"quiet", no_argument, NULL, 's'},
+ {NULL, no_argument, NULL, 0}
+};
+
static void usage(void);
int
@@ -75,7 +84,7 @@ main(int argc, char *argv[])
uint32_t fcntls;
oflag = O_RDONLY;
- while ((ch = getopt(argc, argv, "hlsxz")) != -1)
+ while ((ch = getopt_long(argc, argv, "+hlsxz", long_opts, NULL)) != -1)
switch (ch) {
case 'h': /* Don't follow symlinks */
oflag |= O_NOFOLLOW;
More information about the svn-src-head
mailing list