summaryrefslogtreecommitdiff
path: root/usr/src/cmd/diff/diff.c
diff options
context:
space:
mode:
authorAndy Fiddaman <omnios@citrus-it.co.uk>2022-02-23 11:09:07 +0000
committerAndy Fiddaman <omnios@citrus-it.co.uk>2022-03-02 15:22:03 +0000
commitd2b76ef70a19a09ea9aab5aaeb614dc7c9d195ed (patch)
tree8480f416659f3c60402bb4242a5e3fe0158f706d /usr/src/cmd/diff/diff.c
parent63cdc4a2836cf93078a5dd140d42583170a04953 (diff)
downloadillumos-gate-d2b76ef70a19a09ea9aab5aaeb614dc7c9d195ed.tar.gz
14534 diff could support -q
Reviewed by: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org> Reviewed by: Toomas Soome <tsoome@me.com> Approved by: Robert Mustacchi <rm@fingolfin.org>
Diffstat (limited to 'usr/src/cmd/diff/diff.c')
-rw-r--r--usr/src/cmd/diff/diff.c27
1 files changed, 21 insertions, 6 deletions
diff --git a/usr/src/cmd/diff/diff.c b/usr/src/cmd/diff/diff.c
index 5a2ae27492..16a3f3b06d 100644
--- a/usr/src/cmd/diff/diff.c
+++ b/usr/src/cmd/diff/diff.c
@@ -38,6 +38,10 @@
*/
/*
+ * Copyright 2022 OmniOS Community Edition (OmniOSce) Association.
+ */
+
+/*
* diff - differential file comparison
*
* Uses an algorithm which finds
@@ -232,7 +236,7 @@ main(int argc, char **argv)
diffargv = argv;
whichtemp = 0;
- while ((flag = getopt(argc, argv, "bitwcuefhnlrsC:D:S:U:")) != EOF) {
+ while ((flag = getopt(argc, argv, "bitwcuefhnlqrsC:D:S:U:")) != EOF) {
switch (flag) {
case 'D':
opt = D_IFDEF;
@@ -294,6 +298,10 @@ main(int argc, char **argv)
opt = D_NREVERSE;
break;
+ case 'q':
+ qflag = 1;
+ break;
+
case 'r':
rflag = 1;
break;
@@ -462,6 +470,13 @@ notsame:
(void) fclose(input[1]);
done();
}
+ if (qflag) {
+ (void) printf(gettext("Files %s and %s differ\n"),
+ file1, file2);
+ (void) fclose(input[0]);
+ (void) fclose(input[1]);
+ done();
+ }
prepare(0, file1);
prepare(1, file2);
prune();
@@ -1796,7 +1811,7 @@ useless(char *cp)
if (cp[1] == '.' && cp[2] == '\0')
return (1); /* directory ".." */
}
- if (start && strcmp(start, cp) > 0)
+ if (strcmp(start, cp) > 0)
return (1);
return (0);
}
@@ -2041,11 +2056,11 @@ static void
usage(void)
{
(void) fprintf(stderr, gettext(
- "usage: diff [-bitw] [-c | -e | -f | -h | -n | -u] file1 "
+ "usage: diff [-biqtw] [-c | -e | -f | -h | -n | -u] file1 "
"file2\n"
- " diff [-bitw] [-C number | -U number] file1 file2\n"
- " diff [-bitw] [-D string] file1 file2\n"
- " diff [-bitw] [-c | -e | -f | -h | -n | -u] [-l] [-r] "
+ " diff [-biqtw] [-C number | -U number] file1 file2\n"
+ " diff [-biqtw] [-D string] file1 file2\n"
+ " diff [-biqtw] [-c | -e | -f | -h | -n | -u] [-l] [-r] "
"[-s] [-S name] directory1 directory2\n"));
status = 2;
done();