From: Sevan Janiyan Date: Mon, 25 Jun 2018 23:35:19 +0000 (+0000) Subject: Sync with cat.c from netbsd-8 X-Git-Url: http://zhaoyanbai.com/repos/%22http:/www.isc.org/icons/zlib_tech.html?a=commitdiff_plain;h=refs%2Fchanges%2F22%2F3522%2F1;p=minix.git Sync with cat.c from netbsd-8 When cat is invoked with -se, print a '$' on blank lines. Change-Id: I1bdcced967261a231eab93e8d28736f9f52f53fd --- diff --git a/bin/cat/cat.c b/bin/cat/cat.c index 7d7d67f5e..563ba6388 100644 --- a/bin/cat/cat.c +++ b/bin/cat/cat.c @@ -1,4 +1,4 @@ -/* $NetBSD: cat.c,v 1.55 2015/07/25 16:17:01 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.55 2015/07/25 16:17:01 sevan Exp $"); +__RCSID("$NetBSD: cat.c,v 1.57 2016/06/16 00:52:37 sevan Exp $"); #endif #endif /* not lint */ @@ -113,6 +113,7 @@ main(int argc, char *argv[]) vflag = 1; break; default: + case '?': (void)fprintf(stderr, "Usage: %s [-beflnstuv] [-B bsize] [-] " "[file ...]\n", getprogname()); @@ -174,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)) @@ -197,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)