Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/lib/libcurses/PSD.doc Make these work with today's curses an...
details: https://anonhg.NetBSD.org/src/rev/7ee0de0581ed
branches: trunk
changeset: 581065:7ee0de0581ed
user: christos <christos%NetBSD.org@localhost>
date: Mon May 23 04:04:49 2005 +0000
description:
Make these work with today's curses and termcap reality.
diffstat:
lib/libcurses/PSD.doc/twinkle1.c | 120 +++++++++++----------
lib/libcurses/PSD.doc/twinkle2.c | 205 ++++++++++++++++++++++++++++++--------
2 files changed, 222 insertions(+), 103 deletions(-)
diffs (truncated from 413 to 300 lines):
diff -r 64b104480b6c -r 7ee0de0581ed lib/libcurses/PSD.doc/twinkle1.c
--- a/lib/libcurses/PSD.doc/twinkle1.c Mon May 23 00:43:13 2005 +0000
+++ b/lib/libcurses/PSD.doc/twinkle1.c Mon May 23 04:04:49 2005 +0000
@@ -1,60 +1,64 @@
-.\" $NetBSD: twinkle1.c,v 1.5 2003/08/07 16:44:29 agc 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
-.\" 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.
-.\"
-.\" @(#)twinkle1.c 8.1 (Berkeley) 6/8/93
-.\"
-# include <curses.h>
-# include <signal.h>
+/* $NetBSD: twinkle1.c,v 1.6 2005/05/23 04:04:49 christos 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
+ * 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.
+ *
+ * @(#)twinkle1.c 8.1 (Berkeley) 6/8/93
+ */
+#include <curses.h>
+#include <signal.h>
/*
* the idea for this program was a product of the imagination of
* Kurt Schoens. Not responsible for minds lost or stolen.
*/
-# define NCOLS 80
-# define NLINES 24
-# define MAXPATTERNS 4
+#define NCOLS 80
+#define NLINES 24
+#define MAXPATTERNS 4
typedef struct {
int y, x;
} LOCS;
-LOCS Layout[NCOLS * NLINES]; /* current board layout */
+static LOCS Layout[NCOLS * NLINES]; /* current board layout */
-int Pattern, /* current pattern number */
- Numstars; /* number of stars in pattern */
+static int Pattern, /* current pattern number */
+ Numstars; /* number of stars in pattern */
-char *getenv();
+static void puton(char);
+static void makeboard(void);
+static int ison(int, int);
+static void die(int);
-int die();
-
-main()
+int
+main(void)
{
srand(getpid()); /* initialize random sequence */
@@ -78,12 +82,13 @@
* We lie and say we used to be at the upper right corner to guarantee
* absolute addressing.
*/
-die()
+static void
+die(int n)
{
signal(SIGINT, SIG_IGN);
mvcur(0, COLS - 1, LINES - 1, 0);
endwin();
- exit(0);
+ exit(n);
}
@@ -92,10 +97,11 @@
* calls ison() to determine if the character is on that pattern
* or not.
*/
-makeboard()
+static void
+makeboard(void)
{
- reg int y, x;
- reg LOCS *lp;
+ int y, x;
+ LOCS *lp;
Pattern = rand() % MAXPATTERNS;
lp = Layout;
@@ -112,9 +118,9 @@
/*
* Return TRUE if (y, x) is on the current pattern.
*/
-ison(y, x)
-reg int y, x; {
-
+static int
+ison(int y, int x)
+{
switch (Pattern) {
case 0: /* alternating lines */
return !(y & 01);
@@ -132,13 +138,13 @@
/* NOTREACHED */
}
-puton(ch)
-reg char ch;
+static void
+puton(char ch)
{
- reg LOCS *lp;
- reg int r;
- reg LOCS *end;
- LOCS temp;
+ LOCS *lp;
+ int r;
+ LOCS *end;
+ LOCS temp;
end = &Layout[Numstars];
for (lp = Layout; lp < end; lp++) {
diff -r 64b104480b6c -r 7ee0de0581ed lib/libcurses/PSD.doc/twinkle2.c
--- a/lib/libcurses/PSD.doc/twinkle2.c Mon May 23 00:43:13 2005 +0000
+++ b/lib/libcurses/PSD.doc/twinkle2.c Mon May 23 04:04:49 2005 +0000
@@ -1,58 +1,110 @@
-.\" $NetBSD: twinkle2.c,v 1.5 2003/08/07 16:44:29 agc 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
-.\" 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.
-.\"
-.\" @(#)twinkle2.c 8.1 (Berkeley) 6/8/93
-.\"
-extern int _putchar();
+/* $NetBSD: twinkle2.c,v 1.6 2005/05/23 04:04:49 christos 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
+ * 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.
+ *
+ * @(#)twinkle2.c 8.1 (Berkeley) 6/8/93
+ */
-main()
+#include <stdlib.h>
+#include <unistd.h>
+#include <curses.h>
+#include <signal.h>
+
+#define NCOLS 80
+#define NLINES 24
+#define MAXPATTERNS 4
+
+typedef struct {
+ int y, x;
+} LOCS;
+
+static LOCS Layout[NCOLS * NLINES]; /* current board layout */
+
+static int Pattern, /* current pattern number */
+ Numstars; /* number of stars in pattern */
+
+static void puton(char);
+static void die(int);
+static void makeboard(void);
+static int ison(int, int);
+
+static int AM;
+static char *VS;
+static char *TI;
+static char *CL;
+
+int
+main(void)
{
- reg char *sp;
+ char *sp;
+ char buf[1024];
+ char *ptr = buf;
srand(getpid()); /* initialize random sequence */
if (isatty(0)) {
- gettmode();
- if ((sp = getenv("TERM")) != NULL)
- setterm(sp);
+ initscr();
+ gettmode();
+ if ((sp = getenv("TERM")) != NULL)
+ setterm(sp);
signal(SIGINT, die);
}
else {
- printf("Need a terminal on %d\n", _tty_ch);
+ printf("Need a terminal on fd=%d\n", 0);
+ exit(1);
+ }
+
Home |
Main Index |
Thread Index |
Old Index