]> Zhao Yanbai Git Server - minix.git/commitdiff
Importing games/pig
authorThomas Cort <tcort@minix3.org>
Sun, 16 Mar 2014 14:13:31 +0000 (10:13 -0400)
committerLionel Sambuc <lionel@minix3.org>
Mon, 28 Jul 2014 15:05:16 +0000 (17:05 +0200)
No Minix specific changes needed.

Change-Id: If6c638f44e9cabc5b667f0b30a0654f1e8e61c13

distrib/sets/lists/minix/mi
games/Makefile
games/pig/Makefile [new file with mode: 0644]
games/pig/pig.6 [new file with mode: 0644]
games/pig/pig.c [new file with mode: 0644]
releasetools/nbsd_ports

index e7c1cb8305cd663db2cad59066d750675538df25..a9be12b0336d7c87f36fc3ad4e2ea31078adf70b 100644 (file)
 ./usr/games/factor                     minix-sys
 ./usr/games/fortune                    minix-sys
 ./usr/games/hide                       minix-sys
+./usr/games/pig                                minix-sys
 ./usr/games/primes                     minix-sys
 ./usr/games/strfile                    minix-sys
 ./usr/games/unstr                      minix-sys
 ./usr/man/man6/adventure.6                     minix-sys
 ./usr/man/man6/factor.6                                minix-sys
 ./usr/man/man6/fortune.6                       minix-sys
+./usr/man/man6/pig.6                           minix-sys
 ./usr/man/man6/primes.6                                minix-sys
 ./usr/man/man7                                 minix-sys
 ./usr/man/man7/ascii.7                         minix-sys
index cace510a7afb0be6260dc9bbf46640759fbf1276..4baa12dd75a4b0e3aaa16022bc881d3a8f510051 100644 (file)
@@ -12,7 +12,7 @@ SUBDIR=       adventure \
        \
        factor fortune \
        \
-       primes
+       pig primes
 
 .if !defined(__MINIX)
 .if ${MKCXX} != "no"
diff --git a/games/pig/Makefile b/games/pig/Makefile
new file mode 100644 (file)
index 0000000..0932b16
--- /dev/null
@@ -0,0 +1,7 @@
+#      $NetBSD: Makefile,v 1.3 1995/03/23 08:41:34 cgd Exp $
+#      @(#)Makefile    8.1 (Berkeley) 5/31/93
+
+PROG=  pig
+MAN=   pig.6
+
+.include <bsd.prog.mk>
diff --git a/games/pig/pig.6 b/games/pig/pig.6
new file mode 100644 (file)
index 0000000..aba4268
--- /dev/null
@@ -0,0 +1,46 @@
+.\"    $NetBSD: pig.6,v 1.5 2003/08/07 09:37:31 agc Exp $
+.\"
+.\" Copyright (c) 1992 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.
+.\"
+.\"    @(#)pig.6       8.1 (Berkeley) 6/10/93
+.\"
+.Dd June 10, 1993
+.Dt PIG 6
+.Os
+.Sh NAME
+.Nm pig
+.Nd eformatray inputway asway Igpay Atinlay
+.Sh SYNOPSIS
+.Nm
+.Sh DESCRIPTION
+Ethay
+.Nm
+utilityway eadsray ethay andardstay inputway andway iteswray itway
+outway otay andardstay outputway inway Igpay Atinlay.
+.Pp
+Usefulway orfay eneratinggay onthlymay eportsray.
diff --git a/games/pig/pig.c b/games/pig/pig.c
new file mode 100644 (file)
index 0000000..a127ac7
--- /dev/null
@@ -0,0 +1,135 @@
+/*     $NetBSD: pig.c,v 1.15 2012/06/19 05:46:09 dholland Exp $        */
+
+/*-
+ * Copyright (c) 1992, 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.
+ */
+
+#include <sys/cdefs.h>
+#ifndef lint
+__COPYRIGHT("@(#) Copyright (c) 1992, 1993\
+ The Regents of the University of California.  All rights reserved.");
+#endif /* not lint */
+
+#ifndef lint
+#if 0
+static char sccsid[] = "@(#)pig.c      8.2 (Berkeley) 5/4/95";
+#else
+__RCSID("$NetBSD: pig.c,v 1.15 2012/06/19 05:46:09 dholland Exp $");
+#endif
+#endif /* not lint */
+
+#include <sys/types.h>
+
+#include <ctype.h>
+#include <err.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+int main(int, char *[]);
+static void pigout(char *, int);
+static void usage(void) __dead;
+
+int
+main(int argc, char *argv[])
+{
+       int len;
+       int ch;
+       char buf[1024];
+
+       while ((ch = getopt(argc, argv, "")) != -1)
+               switch(ch) {
+               case '?':
+               default:
+                       usage();
+               }
+       argc -= optind;
+       argv += optind;
+
+       for (len = 0; (ch = getchar()) != EOF;) {
+               if (isalpha(ch)) {
+                       if ((size_t)len >= sizeof(buf))
+                               errx(1, "ate too much!");
+                       buf[len++] = ch;
+                       continue;
+               }
+               if (len != 0) {
+                       pigout(buf, len);
+                       len = 0;
+               }
+               (void)putchar(ch);
+       }
+       exit(0);
+}
+
+static void
+pigout(char *buf, int len)
+{
+       int ch, start, i;
+       int olen, allupper, firstupper;
+
+       /* See if the word is all upper case */
+       allupper = firstupper = isupper((unsigned char)buf[0]);
+       for (i = 1; i < len && allupper; i++)
+               allupper = allupper && isupper((unsigned char)buf[i]);
+
+       /*
+        * If the word starts with a vowel, append "way".  Don't treat 'y'
+        * as a vowel if it appears first.
+        */
+       if (strchr("aeiouAEIOU", buf[0]) != NULL) {
+               (void)printf("%.*s%s", len, buf,
+                   allupper ? "WAY" : "way");
+               return;
+       }
+
+       /*
+        * Copy leading consonants to the end of the word.  The unit "qu"
+        * isn't treated as a vowel.
+        */
+       if (!allupper)
+               buf[0] = tolower((unsigned char)buf[0]);
+       for (start = 0, olen = len;
+           !strchr("aeiouyAEIOUY", buf[start]) && start < olen;) {
+               ch = buf[len++] = buf[start++];
+               if ((ch == 'q' || ch == 'Q') && start < olen &&
+                   (buf[start] == 'u' || buf[start] == 'U'))
+                       buf[len++] = buf[start++];
+       }
+       if (firstupper)
+               buf[start] = toupper((unsigned char)buf[start]);
+       (void)printf("%.*s%s", olen, buf + start, allupper ? "AY" : "ay");
+}
+
+static void
+usage(void)
+{
+       (void)fprintf(stderr, "usage: pig\n");
+       exit(1);
+}
index 274365317d0b436cf88839c7055592e26be3c4fd..29df2f85c3753551e36ef4c2fd6ef3dd1a9891dd 100644 (file)
@@ -73,6 +73,7 @@
 2013/12/1 12:00:00,games/fortune
 2013/12/1 12:00:00,games/Makefile
 2013/12/1 12:00:00,games/Makefile.inc
+2013/12/1 12:00:00,games/pig
 2013/12/1 12:00:00,games/primes
 2013/12/1 12:00:00,gnu/dist/texinfo
 2013/12/1 12:00:00,gnu/usr.bin/texinfo