Index: usr.bin/uniq/uniq.1 =================================================================== --- usr.bin/uniq/uniq.1 +++ usr.bin/uniq/uniq.1 @@ -31,7 +31,7 @@ .\" From: @(#)uniq.1 8.1 (Berkeley) 6/6/93 .\" $FreeBSD$ .\" -.Dd December 17, 2009 +.Dd May 12, 2017 .Dt UNIQ 1 .Os .Sh NAME @@ -39,7 +39,8 @@ .Nd report or filter out repeated lines in a file .Sh SYNOPSIS .Nm -.Op Fl c | Fl d | Fl u +.Op Fl c +.Op Fl d | Fl u .Op Fl i .Op Fl f Ar num .Op Fl s Ar chars Index: usr.bin/uniq/uniq.c =================================================================== --- usr.bin/uniq/uniq.c +++ usr.bin/uniq/uniq.c @@ -129,11 +129,8 @@ argc -= optind; argv += optind; - /* If no flags are set, default is -d -u. */ - if (cflag) { - if (dflag || uflag) - usage(); - } else if (!dflag && !uflag) + /* If neither the -d nor -u flag are set, default is -d -u. */ + if (!dflag && !uflag) dflag = uflag = 1; if (argc > 2) @@ -182,9 +179,6 @@ } tprev = convert(prevline); - if (!cflag && uflag && dflag) - show(ofp, prevline); - tthis = NULL; while (getline(&thisline, &thisbuflen, ifp) >= 0) { if (tthis != NULL) @@ -200,8 +194,7 @@ if (comp) { /* If different, print; set previous to new value. */ - if (cflag || !dflag || !uflag) - show(ofp, prevline); + show(ofp, prevline); p = prevline; b1 = prevbuflen; prevline = thisline; @@ -209,8 +202,6 @@ if (tprev != NULL) free(tprev); tprev = tthis; - if (!cflag && uflag && dflag) - show(ofp, prevline); thisline = p; thisbuflen = b1; tthis = NULL; @@ -220,8 +211,7 @@ } if (ferror(ifp)) err(1, "%s", ifn); - if (cflag || !dflag || !uflag) - show(ofp, prevline); + show(ofp, prevline); exit(0); } @@ -286,10 +276,11 @@ show(FILE *ofp, const char *str) { - if (cflag) - (void)fprintf(ofp, "%4d %s", repeats + 1, str); - if ((dflag && repeats) || (uflag && !repeats)) + if ((dflag && repeats) || (uflag && !repeats)) { + if (cflag) + (void)fprintf(ofp, "%4d ", repeats + 1); (void)fprintf(ofp, "%s", str); + } } static wchar_t * @@ -351,6 +342,6 @@ usage(void) { (void)fprintf(stderr, -"usage: uniq [-c | -d | -u] [-i] [-f fields] [-s chars] [input [output]]\n"); +"usage: uniq [-c] [-d | -u] [-i] [-f fields] [-s chars] [input [output]]\n"); exit(1); }