summaryrefslogtreecommitdiffstats
path: root/games
diff options
context:
space:
mode:
authorsjg <sjg@FreeBSD.org>2015-05-27 01:19:58 +0000
committersjg <sjg@FreeBSD.org>2015-05-27 01:19:58 +0000
commit65145fa4c81da358fcbc3b650156dab705dfa34e (patch)
tree55c065b6730aaac2afb6c29933ee6ec5fa4c4249 /games
parent60ff4eb0dff94a04d75d0d52a3957aaaf5f8c693 (diff)
parente6b664c390af88d4a87208bc042ce503da664c3b (diff)
downloadFreeBSD-src-65145fa4c81da358fcbc3b650156dab705dfa34e.zip
FreeBSD-src-65145fa4c81da358fcbc3b650156dab705dfa34e.tar.gz
Merge sync of head
Diffstat (limited to 'games')
-rw-r--r--games/Makefile2
-rw-r--r--games/Makefile.inc3
-rw-r--r--games/bcd/Makefile9
-rw-r--r--games/bcd/Makefile.depend19
-rw-r--r--games/bcd/bcd.652
-rw-r--r--games/bcd/bcd.c215
-rw-r--r--games/caesar/rot13.sh2
-rw-r--r--games/fortune/datfiles/Makefile2
-rw-r--r--games/fortune/datfiles/freebsd-tips2
-rw-r--r--games/fortune/fortune/fortune.62
-rw-r--r--games/fortune/tools/do_uniq.py59
-rw-r--r--games/ppt/Makefile8
-rw-r--r--games/ppt/Makefile.depend18
-rw-r--r--games/ppt/ppt.c82
14 files changed, 37 insertions, 438 deletions
diff --git a/games/Makefile b/games/Makefile
index a3bb296..4a3da52 100644
--- a/games/Makefile
+++ b/games/Makefile
@@ -3,7 +3,6 @@
.include <src.opts.mk>
SUBDIR= \
- bcd \
caesar \
factor \
fortune \
@@ -11,7 +10,6 @@ SUBDIR= \
morse \
number \
pom \
- ppt \
primes \
random \
${_tests}
diff --git a/games/Makefile.inc b/games/Makefile.inc
index 2695d83..40525f8 100644
--- a/games/Makefile.inc
+++ b/games/Makefile.inc
@@ -1,7 +1,6 @@
# @(#)Makefile.inc 8.1 (Berkeley) 5/31/93
# $FreeBSD$
-BINDIR?= /usr/games
+BINDIR?= /usr/bin
FILESDIR?= ${SHAREDIR}/games
WARNS?= 6
-DISTRIBUTION?= games
diff --git a/games/bcd/Makefile b/games/bcd/Makefile
deleted file mode 100644
index 1e0bbfc..0000000
--- a/games/bcd/Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
-# @(#)Makefile 8.1 (Berkeley) 5/31/93
-# $FreeBSD$
-
-PROG= bcd
-MAN= bcd.6
-MLINKS= bcd.6 ppt.6
-
-.include <bsd.prog.mk>
-
diff --git a/games/bcd/Makefile.depend b/games/bcd/Makefile.depend
deleted file mode 100644
index 96aa2a2..0000000
--- a/games/bcd/Makefile.depend
+++ /dev/null
@@ -1,19 +0,0 @@
-# Autogenerated - do NOT edit!
-
-DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
-
-DIRDEPS = \
- gnu/lib/csu \
- gnu/lib/libgcc \
- include \
- include/xlocale \
- lib/${CSU_DIR} \
- lib/libc \
- lib/libcompiler_rt \
-
-
-.include <dirdeps.mk>
-
-.if ${DEP_RELDIR} == ${_DEP_RELDIR}
-# local dependencies - needed for -jN in clean tree
-.endif
diff --git a/games/bcd/bcd.6 b/games/bcd/bcd.6
deleted file mode 100644
index e9343fe..0000000
--- a/games/bcd/bcd.6
+++ /dev/null
@@ -1,52 +0,0 @@
-.\" 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$
-.\"
-.Dd December 7, 2000
-.Dt BCD 6
-.Os
-.Sh NAME
-.Nm bcd ,
-.Nm ppt
-.Nd "reformat input as punch cards or paper tape"
-.Sh SYNOPSIS
-.Nm
-.Op Ar string ...
-.Nm ppt
-.Op Ar string ...
-.Sh DESCRIPTION
-The commands
-.Nm
-and
-.Nm ppt
-read the given input and reformat it in the form of punched cards or
-paper tape.
-Acceptable input are command line arguments or the standard input.
-.Sh SEE ALSO
-.Xr morse 6
diff --git a/games/bcd/bcd.c b/games/bcd/bcd.c
deleted file mode 100644
index 04ccccc..0000000
--- a/games/bcd/bcd.c
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * 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, 1993\n\
- The Regents of the University of California. All rights reserved.\n";
-#endif /* not lint */
-
-#ifndef lint
-#if 0
-static char sccsid[] = "@(#)bcd.c 8.2 (Berkeley) 3/20/94";
-#endif
-static const char rcsid[] =
- "$FreeBSD$";
-#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@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@diana.ocunix.on.ca
- * Nov 5, 1993
- */
-
-#include <sys/types.h>
-
-#include <ctype.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#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
-};
-
-static void printcard(char *);
-
-/*
- * i'th bit of w.
- */
-#define bit(w,i) ((w)&(1<<(i)))
-
-int
-main(int argc, char **argv)
-{
- char cardline[80];
-
- /*
- * 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);
-}
-
-#define COLUMNS 48
-
-static void
-printcard(char *str)
-{
- static char rowchars[] = " 123456789";
- int i, row;
- char *p;
-
- /* ruthlessly remove newlines and truncate at 48 characters. */
- if ((p = strchr(str, '\n')))
- *p = '\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);
-
- /* 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');
-
- /*
- * 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');
-}
diff --git a/games/caesar/rot13.sh b/games/caesar/rot13.sh
index 853205b..7dcef74 100644
--- a/games/caesar/rot13.sh
+++ b/games/caesar/rot13.sh
@@ -30,4 +30,4 @@
# @(#)rot13.sh 8.1 (Berkeley) 5/31/93
# $FreeBSD$
-exec /usr/games/caesar 13 "$@"
+exec /usr/bin/caesar 13 "$@"
diff --git a/games/fortune/datfiles/Makefile b/games/fortune/datfiles/Makefile
index bf13182..1eabaa4 100644
--- a/games/fortune/datfiles/Makefile
+++ b/games/fortune/datfiles/Makefile
@@ -15,7 +15,7 @@ FILESDIR= ${SHAREDIR}/games/fortune
.for f in ${DB}
$f.dat: $f
- PATH=$$PATH:/usr/games:${.OBJDIR}/../strfile \
+ PATH=$$PATH:/usr/bin:${.OBJDIR}/../strfile \
strfile -Cs ${.ALLSRC} ${.TARGET}
.endfor
diff --git a/games/fortune/datfiles/freebsd-tips b/games/fortune/datfiles/freebsd-tips
index b984d10..f3406a2 100644
--- a/games/fortune/datfiles/freebsd-tips
+++ b/games/fortune/datfiles/freebsd-tips
@@ -443,7 +443,7 @@ on this system. Example entries are in
%
You can use "pkg info" to see a list of packages you have installed.
%
-You can use the 'fetch' command to retrieve files over ftp or http.
+You can use the 'fetch' command to retrieve files over ftp, http or https.
fetch http://www.FreeBSD.org/index.html
diff --git a/games/fortune/fortune/fortune.6 b/games/fortune/fortune/fortune.6
index 7272fd0..d8f6bad 100644
--- a/games/fortune/fortune/fortune.6
+++ b/games/fortune/fortune/fortune.6
@@ -168,7 +168,7 @@ It is a colon-separated list of directories in which
.Nm
looks for data files.
If not set it will default to
-.Pa /usr/games/fortune .
+.Pa /usr/share/games/fortune .
If none of the directories specified exist, it will print a warning and exit.
.It Ev FORTUNE_SAVESTATE
If set, fortune will save some state about what fortune
diff --git a/games/fortune/tools/do_uniq.py b/games/fortune/tools/do_uniq.py
index 6fde749..bd62676 100644
--- a/games/fortune/tools/do_uniq.py
+++ b/games/fortune/tools/do_uniq.py
@@ -4,7 +4,8 @@
#
# an aggressive little script for trimming duplicate cookies
-import re, sys
+import argparse
+import re
wordlist = [
'hadnot',
@@ -15,6 +16,7 @@ wordlist = [
'a', 'd', 'i', 'm', 's',
]
+
def hash(fortune):
f = fortune
f = f.lower()
@@ -27,37 +29,40 @@ def hash(fortune):
# f = f[-30:]
return f
+
def edit(datfile):
dups = {}
fortunes = []
fortune = ""
- for line in file(datfile):
- if line == "%\n":
- key = hash(fortune)
- if key not in dups:
- dups[key] = []
- dups[key].append(fortune)
- fortunes.append(fortune)
- fortune = ""
- else:
- fortune += line
+ with open(datfile, "r") as datfiledf:
+ for line in datfiledf:
+ if line == "%\n":
+ key = hash(fortune)
+ if key not in dups:
+ dups[key] = []
+ dups[key].append(fortune)
+ fortunes.append(fortune)
+ fortune = ""
+ else:
+ fortune += line
for key in list(dups.keys()):
if len(dups[key]) == 1:
del dups[key]
- o = file(datfile + '~', "w")
- for fortune in fortunes:
- key = hash(fortune)
- if key in dups:
- print('\n' * 50)
- for f in dups[key]:
- if f != fortune:
- print(f, '%')
- print(fortune, '%')
- if input("Remove last fortune? ") == 'y':
- del dups[key]
- continue
- o.write(fortune + "%\n")
- o.close()
+ with open(datfile + "~", "w") as o:
+ for fortune in fortunes:
+ key = hash(fortune)
+ if key in dups:
+ print('\n' * 50)
+ for f in dups[key]:
+ if f != fortune:
+ print(f, '%')
+ print(fortune, '%')
+ if input("Remove last fortune? ") == 'y':
+ del dups[key]
+ continue
+ o.write(fortune + "%\n")
-assert len(sys.argv) == 2
-edit(sys.argv[1])
+parser = argparse.ArgumentParser(description="trimming duplicate cookies")
+parser.add_argument("filename", type=str, nargs=1)
+args = parser.parse_args()
+edit(args.filename[0])
diff --git a/games/ppt/Makefile b/games/ppt/Makefile
deleted file mode 100644
index 4a3629f..0000000
--- a/games/ppt/Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
-# @(#)Makefile 8.1 (Berkeley) 5/31/93
-# $FreeBSD$
-
-PROG= ppt
-MAN=
-
-.include <bsd.prog.mk>
-
diff --git a/games/ppt/Makefile.depend b/games/ppt/Makefile.depend
deleted file mode 100644
index 2d9ec50..0000000
--- a/games/ppt/Makefile.depend
+++ /dev/null
@@ -1,18 +0,0 @@
-# Autogenerated - do NOT edit!
-
-DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,}
-
-DIRDEPS = \
- gnu/lib/csu \
- gnu/lib/libgcc \
- include \
- lib/${CSU_DIR} \
- lib/libc \
- lib/libcompiler_rt \
-
-
-.include <dirdeps.mk>
-
-.if ${DEP_RELDIR} == ${_DEP_RELDIR}
-# local dependencies - needed for -jN in clean tree
-.endif
diff --git a/games/ppt/ppt.c b/games/ppt/ppt.c
deleted file mode 100644
index a032e13..0000000
--- a/games/ppt/ppt.c
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (c) 1988, 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.
- */
-
-#ifndef lint
-static const char copyright[] =
-"@(#) Copyright (c) 1988, 1993\n\
- The Regents of the University of California. All rights reserved.\n";
-#endif /* not lint */
-
-#ifndef lint
-#if 0
-static char sccsid[] = "@(#)ppt.c 8.1 (Berkeley) 5/31/93";
-#endif
-static const char rcsid[] =
- "$FreeBSD$";
-#endif /* not lint */
-
-#include <stdio.h>
-#include <stdlib.h>
-
-static void putppt(int);
-
-int
-main(int argc, char **argv)
-{
- int c;
- char *p;
-
- (void) puts("___________");
- if (argc > 1)
- while ((p = *++argv))
- for (; *p; ++p)
- putppt((int)*p);
- else while ((c = getchar()) != EOF)
- putppt(c);
- (void) puts("___________");
- exit(0);
-}
-
-static void
-putppt(int c)
-{
- int i;
-
- (void) putchar('|');
- for (i = 7; i >= 0; i--) {
- if (i == 2)
- (void) putchar('.'); /* feed hole */
- if ((c&(1<<i)) != 0)
- (void) putchar('o');
- else
- (void) putchar(' ');
- }
- (void) putchar('|');
- (void) putchar('\n');
-}
OpenPOWER on IntegriCloud