Module Name:    src
Committed By:   sevan
Date:           Thu Jun 16 00:52:37 UTC 2016

Modified Files:
        src/bin/cat: cat.c

Log Message:
When invoked with -se, print a '$' on blank lines
Obtained from OpenBSD r1.13 of src/bin/cat/cat.c

Closes PR bin/51250
Reviewed by Christos@


To generate a diff of this commit:
cvs rdiff -u -r1.56 -r1.57 src/bin/cat/cat.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/bin/cat/cat.c
diff -u src/bin/cat/cat.c:1.56 src/bin/cat/cat.c:1.57
--- src/bin/cat/cat.c:1.56	Thu Jun 16 00:45:37 2016
+++ src/bin/cat/cat.c	Thu Jun 16 00:52:37 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: cat.c,v 1.56 2016/06/16 00:45:37 sevan Exp $	*/
+/* $NetBSD: cat.c,v 1.57 2016/06/16 00:52:37 sevan Exp $	*/
 
 /*
  * Copyright (c) 1989, 1993
@@ -44,7 +44,7 @@ __COPYRIGHT(
 #if 0
 static char sccsid[] = "@(#)cat.c	8.2 (Berkeley) 4/27/95";
 #else
-__RCSID("$NetBSD: cat.c,v 1.56 2016/06/16 00:45:37 sevan Exp $");
+__RCSID("$NetBSD: cat.c,v 1.57 2016/06/16 00:52:37 sevan Exp $");
 #endif
 #endif /* not lint */
 
@@ -175,18 +175,16 @@ cook_buf(FILE *fp)
 	line = gobble = 0;
 	for (prev = '\n'; (ch = getc(fp)) != EOF; prev = ch) {
 		if (prev == '\n') {
-			if (ch == '\n') {
-				if (sflag) {
-					if (!gobble && nflag && !bflag)
-						(void)fprintf(stdout,
-							"%6d\t\n", ++line);
-					else if (!gobble && putchar(ch) == EOF)
-						break;
+			if (sflag) {
+				if (ch == '\n') {
+					if (gobble)
+						continue;
 					gobble = 1;
-					continue;
+				} else
+					gobble = 0;
 				}
 				if (nflag) {
-					if (!bflag) {
+					if (!bflag || ch != '\n') {
 						(void)fprintf(stdout,
 						    "%6d\t", ++line);
 						if (ferror(stdout))
@@ -198,13 +196,7 @@ cook_buf(FILE *fp)
 							break;
 					}
 				}
-			} else if (nflag) {
-				(void)fprintf(stdout, "%6d\t", ++line);
-				if (ferror(stdout))
-					break;
 			}
-		}
-		gobble = 0;
 		if (ch == '\n') {
 			if (eflag)
 				if (putchar('$') == EOF)

Reply via email to