summaryrefslogtreecommitdiffstats
path: root/banner
diff options
context:
space:
mode:
authorglass <glass@NetBSD.org>1995-03-25 07:44:46 +0000
committerglass <glass@NetBSD.org>1995-03-25 07:44:46 +0000
commitfef85a6e438af9f4190645b00d74188d8850e530 (patch)
tree512f223a9a140974951203ef839a9dcd3e6edda6 /banner
parent13a26126791f719a62e09dc51634c290ba9fdf5f (diff)
downloadbsdgames-darwin-fef85a6e438af9f4190645b00d74188d8850e530.tar.gz
bsdgames-darwin-fef85a6e438af9f4190645b00d74188d8850e530.tar.zst
bsdgames-darwin-fef85a6e438af9f4190645b00d74188d8850e530.zip
Merge 4.4Lite version
Diffstat (limited to 'banner')
-rw-r--r--banner/Makefile4
-rw-r--r--banner/banner.611
-rw-r--r--banner/banner.c101
3 files changed, 50 insertions, 66 deletions
diff --git a/banner/Makefile b/banner/Makefile
index 31816f68..cf4ed3f5 100644
--- a/banner/Makefile
+++ b/banner/Makefile
@@ -1,5 +1,5 @@
-# from: @(#)Makefile 5.4 (Berkeley) 7/25/90
-# $Id: Makefile,v 1.3 1994/12/22 09:32:57 cgd Exp $
+# $NetBSD: Makefile,v 1.4 1995/03/25 07:44:46 glass Exp $
+# @(#)Makefile 8.1 (Berkeley) 6/6/93
PROG= banner
MAN= banner.6
diff --git a/banner/banner.6 b/banner/banner.6
index 537bce42..f4fdc40f 100644
--- a/banner/banner.6
+++ b/banner/banner.6
@@ -1,5 +1,7 @@
-.\" Copyright (c) 1980 The Regents of the University of California.
-.\" All rights reserved.
+.\" $NetBSD: banner.6,v 1.5 1995/03/25 07:44:48 glass Exp $
+.\"
+.\" Copyright (c) 1980, 1993
+.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
@@ -29,10 +31,9 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" from: @(#)banner.6 6.4 (Berkeley) 6/23/90
-.\" $Id: banner.6,v 1.4 1994/04/08 08:13:06 deraadt Exp $
+.\" @(#)banner.6 8.1 (Berkeley) 6/6/93
.\"
-.Dd June 23, 1990
+.Dd June 6, 1993
.Dt BANNER 6
.Os
.Sh NAME
diff --git a/banner/banner.c b/banner/banner.c
index da69d315..0b5fddd2 100644
--- a/banner/banner.c
+++ b/banner/banner.c
@@ -1,6 +1,8 @@
+/* $NetBSD: banner.c,v 1.3 1995/03/25 07:44:49 glass Exp $ */
+
/*
- * Copyright (c) 1980 The Regents of the University of California.
- * All rights reserved.
+ * Copyright (c) 1980, 1993, 1994
+ * The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -32,14 +34,17 @@
*/
#ifndef lint
-char copyright[] =
-"@(#) Copyright (c) 1980 The Regents of the University of California.\n\
- All rights reserved.\n";
+static char copyright[] =
+"@(#) Copyright (c) 1980, 1993, 1994\n\
+ The Regents of the University of California. All rights reserved.\n";
#endif /* not lint */
#ifndef lint
-/*static char sccsid[] = "from: @(#)banner.c 4.3 (Berkeley) 6/1/90";*/
-static char rcsid[] = "$Id: banner.c,v 1.2 1993/08/01 18:56:19 mycroft Exp $";
+#if 0
+static char sccsid[] = "@(#)banner.c 8.3 (Berkeley) 4/2/94";
+#else
+static char rcsid[] = "$NetBSD: banner.c,v 1.3 1995/03/25 07:44:49 glass Exp $";
+#endif
#endif /* not lint */
/*
@@ -47,7 +52,11 @@ static char rcsid[] = "$Id: banner.c,v 1.2 1993/08/01 18:56:19 mycroft Exp $";
* banner [-w#] [-d] [-t] message ...
*/
+#include <err.h>
#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
#define MAXMSG 1024
#define DWIDTH 132
@@ -1014,31 +1023,21 @@ char data_table[NBYTES] = {
/* 9270 */ 193
};
-int i,j;
-int width = DWIDTH; /* -w option: scrunch letters to 80 columns */
-int debug;
-int trace;
-char line[DWIDTH];
-char print[DWIDTH];
-char message[MAXMSG];
-int nchars;
-int linen;
-int x,y;
-int term;
-int pc;
-int max;
+char line[DWIDTH];
+char message[MAXMSG];
+char print[DWIDTH];
+int debug, i, j, linen, max, nchars, pc, term, trace, x, y;
+int width = DWIDTH; /* -w option: scrunch letters to 80 columns */
+int
main(argc, argv)
int argc;
char **argv;
{
- extern char *optarg;
- extern int optind;
int ch;
- char *strcpy(), *strcat();
while ((ch = getopt(argc, argv, "w:td")) != EOF)
- switch((char)ch) {
+ switch(ch) {
case 'w':
width = atoi(optarg);
if (width <= 0)
@@ -1058,30 +1057,11 @@ main(argc, argv)
argc -= optind;
argv += optind;
- for (i=0; i<width; i++) {
+ for (i = 0; i < width; i++) {
j = i * 132 / width;
print[j] = 1;
}
-#ifdef notdef
- {
-#define dir(f) "/e1/mrh/ucb/lib/f"
-#define INDTBL dir(ban.dat.indtbl)
-#define OBJECT dir(ban.dat.object)
- FILE *fd;
-
- fd = fopen(INDTBL, "r");
- for (i=0; i<NCHARS; i++) {
- fscanf(fd, "%d", &asc_ptr[i]);
- }
- fclose(fd);
-
- fd = fopen(OBJECT, "r");
- fread(data_table, 1, NBYTES, fd);
- fclose(fd);
- }
-#endif
-
/* Have now read in the data. Next get the message to be printed. */
if (*argv) {
strcpy(message, *argv);
@@ -1100,18 +1080,18 @@ main(argc, argv)
/* some debugging print statements */
if (debug) {
printf("int asc_ptr[128] = {\n");
- for (i=0; i<128; i++) {
+ for (i = 0; i < 128; i++) {
printf("%4d, ",asc_ptr[i]);
if ((i+1) % 8 == 0)
printf("\n");
}
printf("};\nchar data_table[NBYTES] = {\n");
printf(" /* ");
- for (i=0; i<10; i++) printf(" %3d ",i);
+ for (i = 0; i < 10; i++) printf(" %3d ",i);
printf(" */\n");
- for (i=0; i<NBYTES; i += 10) {
+ for (i = 0; i < NBYTES; i += 10) {
printf("/* %4d */ ",i);
- for (j=i; j<i+10; j++) {
+ for (j = i; j < i+10; j++) {
x = data_table[j] & 0377;
printf(" %3d, ",x);
}
@@ -1122,27 +1102,30 @@ main(argc, argv)
/* check message to make sure it's legal */
j = 0;
- for (i=0; i<nchars; i++)
- if (asc_ptr[message[i]] == 0) {
- printf("The character '%c' is not in my character set.\n",message[i]);
+ for (i = 0; i < nchars; i++)
+ if ((u_char) message[i] >= NCHARS ||
+ asc_ptr[(u_char) message[i]] == 0) {
+ warnx("The character '%c' is not in my character set",
+ message[i]);
j++;
}
- if (j) exit(1);
+ if (j)
+ exit(1);
if (trace)
printf("Message '%s' is OK\n",message);
/* Now have message. Print it one character at a time. */
- for (i=0; i<nchars; i++) {
+ for (i = 0; i < nchars; i++) {
if (trace)
printf("Char #%d: %c\n", i, message[i]);
- for (j=0; j<DWIDTH; j++) line[j] = ' ';
- pc = asc_ptr[message[i]];
+ for (j = 0; j < DWIDTH; j++) line[j] = ' ';
+ pc = asc_ptr[(u_char) message[i]];
term = 0;
max = 0;
linen = 0;
- while ( !term ) {
- if (pc<0 || pc > NBYTES) {
+ while (!term) {
+ if (pc < 0 || pc > NBYTES) {
printf("bad pc: %d\n",pc);
exit(1);
}
@@ -1154,13 +1137,13 @@ main(argc, argv)
x = x & 63;
while (x--) {
if (print[linen++]) {
- for (j=0; j<=max; j++)
+ for (j=0; j <= max; j++)
if (print[j])
putchar(line[j]);
putchar('\n');
}
}
- for (j=0; j<DWIDTH; j++) line[j] = ' ';
+ for (j = 0; j < DWIDTH; j++) line[j] = ' ';
pc++;
}
else {