[Midnightbsd-cvs] src [11895] trunk/games/bcd/bcd.c: reformat

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Tue Jul 17 20:56:36 EDT 2018


Revision: 11895
          http://svnweb.midnightbsd.org/src/?rev=11895
Author:   laffer1
Date:     2018-07-17 20:56:35 -0400 (Tue, 17 Jul 2018)
Log Message:
-----------
reformat

Modified Paths:
--------------
    trunk/games/bcd/Makefile
    trunk/games/bcd/bcd.6
    trunk/games/bcd/bcd.c

Property Changed:
----------------
    trunk/games/bcd/bcd.6

Modified: trunk/games/bcd/Makefile
===================================================================
--- trunk/games/bcd/Makefile	2018-07-18 00:56:22 UTC (rev 11894)
+++ trunk/games/bcd/Makefile	2018-07-18 00:56:35 UTC (rev 11895)
@@ -1,9 +1,8 @@
+# $MidnightBSD$
 #	@(#)Makefile	8.1 (Berkeley) 5/31/93
-# $FreeBSD: src/games/bcd/Makefile,v 1.6 2004/07/11 17:26:18 stefanf Exp $
-# $MidnightBSD$
+# $FreeBSD: stable/10/games/bcd/Makefile 203923 2010-02-15 14:32:00Z uqs $
 
 PROG=	bcd
-WARNS?=	6
 MAN=	bcd.6
 MLINKS=	bcd.6 ppt.6
 

Modified: trunk/games/bcd/bcd.6
===================================================================
--- trunk/games/bcd/bcd.6	2018-07-18 00:56:22 UTC (rev 11894)
+++ trunk/games/bcd/bcd.6	2018-07-18 00:56:35 UTC (rev 11895)
@@ -1,37 +1,34 @@
-." Copyright (c) 1988, 1991, 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
-." are met:
-." 1. Redistributions of source code must retain the above copyright
-."    notice, this list of conditions and the following disclaimer.
-." 2. Redistributions in binary form must reproduce the above copyright
-."    notice, this list of conditions and the following disclaimer in the
-."    documentation and/or other materials provided with the distribution.
-." 3. All advertising materials mentioning features or use of this software
-."    must display the following acknowledgement:
-."	This product includes software developed by the University of
-."	California, Berkeley and its contributors.
-." 4. Neither the name of the University nor the names of its contributors
-."    may be used to endorse or promote products derived from this software
-."    without specific prior written permission.
-."
-." THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-." ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-." IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-." ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-." FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-." DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-." OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-." HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-." LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-." OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-." SUCH DAMAGE.
-."
-."	@(#)bcd.6	8.1 (Berkeley) 5/31/93
-." $MidnightBSD$
-."
+.\" $MidnightBSD$
+.\" Copyright (c) 1988, 1991, 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
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\" 3. Neither the name of the University nor the names of its contributors
+.\"    may be used to endorse or promote products derived from this software
+.\"    without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\"	@(#)bcd.6	8.1 (Berkeley) 5/31/93
+.\" $FreeBSD: stable/10/games/bcd/bcd.6 216239 2010-12-06 19:12:51Z uqs $
+.\"
 .Dd December 7, 2000
 .Dt BCD 6
 .Os


Property changes on: trunk/games/bcd/bcd.6
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/games/bcd/bcd.c
===================================================================
--- trunk/games/bcd/bcd.c	2018-07-18 00:56:22 UTC (rev 11894)
+++ trunk/games/bcd/bcd.c	2018-07-18 00:56:35 UTC (rev 11895)
@@ -1,42 +1,40 @@
+/* $MidnightBSD$ */
 /*
-* Copyright (c) 1989, 1993
-*	The Regents of the University of California.  All rights reserved.
-*
-* This code is derived from software contributed to Berkeley by
-* Steve Hayman of the Indiana University Computer Science Dept.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-* 1. Redistributions of source code must retain the above copyright
-*    notice, this list of conditions and the following disclaimer.
-* 2. Redistributions in binary form must reproduce the above copyright
-*    notice, this list of conditions and the following disclaimer in the
-*    documentation and/or other materials provided with the distribution.
-* 3. All advertising materials mentioning features or use of this software
-*    must display the following acknowledgement:
-*	This product includes software developed by the University of
-*	California, Berkeley and its contributors.
-* 4. Neither the name of the University nor the names of its contributors
-*    may be used to endorse or promote products derived from this software
-*    without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-* ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-*/
+ * Copyright (c) 1989, 1993
+ *	The Regents of the University of California.  All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Steve Hayman of the Indiana University Computer Science Dept.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
 
 #ifndef lint
 static const char copyright[] =
-"@(#) Copyright (c) 1989, 1993n	The Regents of the University of California.  All rights reserved.n";
+"@(#) Copyright (c) 1989, 1993\n\
+	The Regents of the University of California.  All rights reserved.\n";
 #endif /* not lint */
 
 #ifndef lint
@@ -44,38 +42,38 @@
 static char sccsid[] = "@(#)bcd.c	8.2 (Berkeley) 3/20/94";
 #endif
 static const char rcsid[] =
-"$MidnightBSD$";
+ "$FreeBSD: stable/10/games/bcd/bcd.c 241846 2012-10-22 03:06:53Z eadler $";
 #endif /* not lint */
 
 /*
-* bcd --
-*
-* Read one line of standard input and produce something that looks like a
-* punch card.  An attempt to reimplement /usr/games/bcd.  All I looked at
-* was the man page.
-*
-* I couldn't find a BCD table handy so I wrote a shell script to deduce what
-* the patterns were that the old bcd was using for each possible 8-bit
-* character.  These are the results -- the low order 12 bits represent the
-* holes.  (A 1 bit is a hole.)  These may be wrong, but they match the old
-* program!
-*
-* Steve Hayman
-* sahayman at iuvax.cs.indiana.edu
-* 1989 11 30
-*
-*
-* I found an error in the table. The same error is found in the SunOS 4.1.1
-* version of bcd. It has apparently been around a long time. The error caused
-* 'Q' and 'R' to have the same punch code. I only noticed the error due to
-* someone pointing it out to me when the program was used to print a cover
-* for an APA!  The table was wrong in 4 places. The other error was masked
-* by the fact that the input is converted to upper case before lookup.
-*
-* Dyane Bruce
-* db at diana.ocunix.on.ca
-* Nov 5, 1993
-*/
+ * bcd --
+ *
+ * Read one line of standard input and produce something that looks like a
+ * punch card.  An attempt to reimplement /usr/games/bcd.  All I looked at
+ * was the man page.
+ *
+ * I couldn't find a BCD table handy so I wrote a shell script to deduce what
+ * the patterns were that the old bcd was using for each possible 8-bit
+ * character.  These are the results -- the low order 12 bits represent the
+ * holes.  (A 1 bit is a hole.)  These may be wrong, but they match the old
+ * program!
+ *
+ * Steve Hayman
+ * sahayman at iuvax.cs.indiana.edu
+ * 1989 11 30
+ *
+ *
+ * I found an error in the table. The same error is found in the SunOS 4.1.1
+ * version of bcd. It has apparently been around a long time. The error caused
+ * 'Q' and 'R' to have the same punch code. I only noticed the error due to
+ * someone pointing it out to me when the program was used to print a cover
+ * for an APA!  The table was wrong in 4 places. The other error was masked
+ * by the fact that the input is converted to upper case before lookup.
+ *
+ * Dyane Bruce
+ * db at diana.ocunix.on.ca
+ * Nov 5, 1993
+ */
 
 #include <sys/types.h>
 
@@ -86,67 +84,64 @@
 #include <unistd.h>
 
 static u_short holes[256] = {
-0x0,	 0x0,	  0x0,	   0x0,	    0x0,     0x0,     0x0,     0x0,
-0x0,	 0x0,	  0x0,	   0x0,	    0x0,     0x0,     0x0,     0x0,
-0x0,	 0x0,	  0x0,	   0x0,	    0x0,     0x0,     0x0,     0x0,
-0x0,	 0x0,	  0x0,	   0x0,	    0x0,     0x0,     0x0,     0x0,
-0x0,	 0x206,	  0x20a,   0x042,   0x442,   0x222,   0x800,   0x406,
-0x812,	 0x412,	  0x422,   0xa00,   0x242,   0x400,   0x842,   0x300,
-0x200,	 0x100,	  0x080,   0x040,   0x020,   0x010,   0x008,   0x004,
-0x002,	 0x001,	  0x012,   0x40a,   0x80a,   0x212,   0x00a,   0x006,
-0x022,	 0x900,	  0x880,   0x840,   0x820,   0x810,   0x808,   0x804,
-0x802,	 0x801,	  0x500,   0x480,   0x440,   0x420,   0x410,   0x408,
-0x404,	 0x402,	  0x401,   0x280,   0x240,   0x220,   0x210,   0x208,
-0x204,	 0x202,	  0x201,   0x082,   0x822,   0x600,   0x282,   0x30f,
-0x900,	 0x880,	  0x840,   0x820,   0x810,   0x808,   0x804,   0x802,
-0x801,	 0x500,	  0x480,   0x440,   0x420,   0x410,   0x408,   0x404,
-0x402,	 0x401,	  0x280,   0x240,   0x220,   0x210,   0x208,   0x204,
-0x202,	 0x201,	  0x082,   0x806,   0x822,   0x600,   0x282,   0x0,
-0x0,	 0x0,	  0x0,	   0x0,	    0x0,     0x0,     0x0,     0x0,
-0x0,	 0x0,	  0x0,	   0x0,	    0x0,     0x0,     0x0,     0x0,
-0x0,	 0x0,	  0x0,	   0x0,	    0x0,     0x0,     0x0,     0x0,
-0x0,	 0x0,	  0x0,	   0x0,	    0x0,     0x0,     0x0,     0x0,
-0x206,	 0x20a,	  0x042,   0x442,   0x222,   0x800,   0x406,   0x812,
-0x412,	 0x422,	  0xa00,   0x242,   0x400,   0x842,   0x300,   0x200,
-0x100,	 0x080,	  0x040,   0x020,   0x010,   0x008,   0x004,   0x002,
-0x001,	 0x012,	  0x40a,   0x80a,   0x212,   0x00a,   0x006,   0x022,
-0x900,	 0x880,	  0x840,   0x820,   0x810,   0x808,   0x804,   0x802,
-0x801,	 0x500,	  0x480,   0x440,   0x420,   0x410,   0x408,   0x404,
-0x402,	 0x401,	  0x280,   0x240,   0x220,   0x210,   0x208,   0x204,
-0x202,	 0x201,	  0x082,   0x806,   0x822,   0x600,   0x282,   0x30f,
-0x900,	 0x880,	  0x840,   0x820,   0x810,   0x808,   0x804,   0x802,
-0x801,	 0x500,	  0x480,   0x440,   0x420,   0x410,   0x408,   0x404,
-0x402,	 0x401,	  0x280,   0x240,   0x220,   0x210,   0x208,   0x204,
-0x202,	 0x201,	  0x082,   0x806,   0x822,   0x600,   0x282,   0x0
+    0x0,	 0x0,	  0x0,	   0x0,	    0x0,     0x0,     0x0,     0x0,
+    0x0,	 0x0,	  0x0,	   0x0,	    0x0,     0x0,     0x0,     0x0,
+    0x0,	 0x0,	  0x0,	   0x0,	    0x0,     0x0,     0x0,     0x0,
+    0x0,	 0x0,	  0x0,	   0x0,	    0x0,     0x0,     0x0,     0x0,
+    0x0,	 0x206,	  0x20a,   0x042,   0x442,   0x222,   0x800,   0x406,
+    0x812,	 0x412,	  0x422,   0xa00,   0x242,   0x400,   0x842,   0x300,
+    0x200,	 0x100,	  0x080,   0x040,   0x020,   0x010,   0x008,   0x004,
+    0x002,	 0x001,	  0x012,   0x40a,   0x80a,   0x212,   0x00a,   0x006,
+    0x022,	 0x900,	  0x880,   0x840,   0x820,   0x810,   0x808,   0x804,
+    0x802,	 0x801,	  0x500,   0x480,   0x440,   0x420,   0x410,   0x408,
+    0x404,	 0x402,	  0x401,   0x280,   0x240,   0x220,   0x210,   0x208,
+    0x204,	 0x202,	  0x201,   0x082,   0x822,   0x600,   0x282,   0x30f,
+    0x900,	 0x880,	  0x840,   0x820,   0x810,   0x808,   0x804,   0x802,
+    0x801,	 0x500,	  0x480,   0x440,   0x420,   0x410,   0x408,   0x404,
+    0x402,	 0x401,	  0x280,   0x240,   0x220,   0x210,   0x208,   0x204,
+    0x202,	 0x201,	  0x082,   0x806,   0x822,   0x600,   0x282,   0x0,
+    0x0,	 0x0,	  0x0,	   0x0,	    0x0,     0x0,     0x0,     0x0,
+    0x0,	 0x0,	  0x0,	   0x0,	    0x0,     0x0,     0x0,     0x0,
+    0x0,	 0x0,	  0x0,	   0x0,	    0x0,     0x0,     0x0,     0x0,
+    0x0,	 0x0,	  0x0,	   0x0,	    0x0,     0x0,     0x0,     0x0,
+    0x206,	 0x20a,	  0x042,   0x442,   0x222,   0x800,   0x406,   0x812,
+    0x412,	 0x422,	  0xa00,   0x242,   0x400,   0x842,   0x300,   0x200,
+    0x100,	 0x080,	  0x040,   0x020,   0x010,   0x008,   0x004,   0x002,
+    0x001,	 0x012,	  0x40a,   0x80a,   0x212,   0x00a,   0x006,   0x022,
+    0x900,	 0x880,	  0x840,   0x820,   0x810,   0x808,   0x804,   0x802,
+    0x801,	 0x500,	  0x480,   0x440,   0x420,   0x410,   0x408,   0x404,
+    0x402,	 0x401,	  0x280,   0x240,   0x220,   0x210,   0x208,   0x204,
+    0x202,	 0x201,	  0x082,   0x806,   0x822,   0x600,   0x282,   0x30f,
+    0x900,	 0x880,	  0x840,   0x820,   0x810,   0x808,   0x804,   0x802,
+    0x801,	 0x500,	  0x480,   0x440,   0x420,   0x410,   0x408,   0x404,
+    0x402,	 0x401,	  0x280,   0x240,   0x220,   0x210,   0x208,   0x204,
+    0x202,	 0x201,	  0x082,   0x806,   0x822,   0x600,   0x282,   0x0
 };
 
 static void printcard(char *);
 
 /*
-* i'th bit of w.
-*/
+ * i'th bit of w.
+ */
 #define	bit(w,i)	((w)&(1<<(i)))
 
 int
 main(int argc, char **argv)
 {
-char cardline[80];
+	char cardline[80];
 
-/* revoke setgid privileges */
-setgid(getgid());
+	/*
+	 * The original bcd prompts with a "%" when reading from stdin,
+	 * but this seems kind of silly.  So this one doesn't.
+	 */
 
-/*
-* The original bcd prompts with a "%" when reading from stdin,
-* but this seems kind of silly.  So this one doesn't.
-*/
-
-if (argc > 1) {
-while (--argc)
-printcard(*++argv);
-} else
-while (fgets(cardline, sizeof(cardline), stdin))
-printcard(cardline);
-exit(0);
+	if (argc > 1) {
+		while (--argc)
+			printcard(*++argv);
+	} else
+		while (fgets(cardline, sizeof(cardline), stdin))
+			printcard(cardline);
+	exit(0);
 }
 
 #define	COLUMNS	48
@@ -154,68 +149,68 @@
 static void
 printcard(char *str)
 {
-static char rowchars[] = "   123456789";
-int i, row;
-char *p;
+	static char rowchars[] = "   123456789";
+	int i, row;
+	char *p;
 
-/* ruthlessly remove newlines and truncate at 48 characters. */
-if ((p = strchr(str, 'n')))
-*p = '0';
+	/* ruthlessly remove newlines and truncate at 48 characters. */
+	if ((p = strchr(str, '\n')))
+		*p = '\0';
 
-if (strlen(str) > COLUMNS)
-str[COLUMNS] = '0';
+	if (strlen(str) > COLUMNS)
+		str[COLUMNS] = '\0';
 
-/* make string upper case. */
-for (p = str; *p; ++p)
-if (isascii(*p) && islower(*p))
-*p = toupper(*p);
+	/* make string upper case. */
+	for (p = str; *p; ++p)
+		if (isascii(*p) && islower(*p))
+			*p = toupper(*p);
 
-/* top of card */
-putchar(' ');
-for (i = 1; i <= COLUMNS; ++i)
-putchar('_');
-putchar('n');
+	 /* top of card */
+	putchar(' ');
+	for (i = 1; i <= COLUMNS; ++i)
+		putchar('_');
+	putchar('\n');
 
-/*
-* line of text.  Leave a blank if the character doesn't have
-* a hole pattern.
-*/
-p = str;
-putchar('/');
-for (i = 1; *p; i++, p++)
-if (holes[(unsigned char)*p])
-putchar(*p);
-else
-putchar(' ');
-while (i++ <= COLUMNS)
-putchar(' ');
-putchar('|');
-putchar('n');
+	/*
+	 * line of text.  Leave a blank if the character doesn't have
+	 * a hole pattern.
+	 */
+	p = str;
+	putchar('/');
+	for (i = 1; *p; i++, p++)
+		if (holes[(unsigned char)*p])
+			putchar(*p);
+		else
+			putchar(' ');
+	while (i++ <= COLUMNS)
+		putchar(' ');
+	putchar('|');
+	putchar('\n');
 
-/*
-* 12 rows of potential holes; output a ']', which looks kind of
-* like a hole, if the appropriate bit is set in the holes[] table.
-* The original bcd output a '[', a backspace, five control A's,
-* and then a ']'.  This seems a little excessive.
-*/
-for (row = 0; row <= 11; ++row) {
-putchar('|');
-for (i = 0, p = str; *p; i++, p++) {
-if (bit(holes[(unsigned char)*p], 11 - row))
-putchar(']');
-else
-putchar(rowchars[row]);
-}
-while (i++ < COLUMNS)
-putchar(rowchars[row]);
-putchar('|');
-putchar('n');
-}
+	/*
+	 * 12 rows of potential holes; output a ']', which looks kind of
+	 * like a hole, if the appropriate bit is set in the holes[] table.
+	 * The original bcd output a '[', a backspace, five control A's,
+	 * and then a ']'.  This seems a little excessive.
+	 */
+	for (row = 0; row <= 11; ++row) {
+		putchar('|');
+		for (i = 0, p = str; *p; i++, p++) {
+			if (bit(holes[(unsigned char)*p], 11 - row))
+				putchar(']');
+			else
+				putchar(rowchars[row]);
+		}
+		while (i++ < COLUMNS)
+			putchar(rowchars[row]);
+		putchar('|');
+		putchar('\n');
+	}
 
-/* bottom of card */
-putchar('|');
-for (i = 1; i <= COLUMNS; i++)
-putchar('_');
-putchar('|');
-putchar('n');
+	/* bottom of card */
+	putchar('|');
+	for (i = 1; i <= COLUMNS; i++)
+		putchar('_');
+	putchar('|');
+	putchar('\n');
 }



More information about the Midnightbsd-cvs mailing list