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