summaryrefslogtreecommitdiffstats
path: root/lib/libtermcap/TEST
diff options
context:
space:
mode:
authorrgrimes <rgrimes@FreeBSD.org>1994-05-27 05:00:24 +0000
committerrgrimes <rgrimes@FreeBSD.org>1994-05-27 05:00:24 +0000
commitbe22b15ae2ff8d7fe06b6e14fddf0c5b444a95da (patch)
treea18a706dffa5baf86a3b12bbfb4f81caa097f349 /lib/libtermcap/TEST
parent2a27bd86e6002c871e3b5561a5334653bb222a77 (diff)
downloadFreeBSD-src-be22b15ae2ff8d7fe06b6e14fddf0c5b444a95da.zip
FreeBSD-src-be22b15ae2ff8d7fe06b6e14fddf0c5b444a95da.tar.gz
BSD 4.4 Lite Lib Sources
Diffstat (limited to 'lib/libtermcap/TEST')
-rw-r--r--lib/libtermcap/TEST/tc1.c63
-rw-r--r--lib/libtermcap/TEST/tc2.c90
-rw-r--r--lib/libtermcap/TEST/tc3.c112
3 files changed, 265 insertions, 0 deletions
diff --git a/lib/libtermcap/TEST/tc1.c b/lib/libtermcap/TEST/tc1.c
new file mode 100644
index 0000000..fd0870a
--- /dev/null
+++ b/lib/libtermcap/TEST/tc1.c
@@ -0,0 +1,63 @@
+/*-
+ * Copyright (c) 1983, 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.
+ */
+
+#ifndef lint
+static char copyright[] =
+"@(#) Copyright (c) 1983, 1993\n\
+ The Regents of the University of California. All rights reserved.\n";
+#endif /* not lint */
+
+#ifndef lint
+static char sccsid[] = "@(#)tc1.c 8.1 (Berkeley) 6/4/93";
+#endif /* not lint */
+
+/*
+ * tc1 [term]
+ * dummy program to test termlib.
+ * gets entry, counts it, and prints it.
+ */
+#include <stdio.h>
+char buf[1024];
+char *getenv();
+
+main(argc, argv) char **argv; {
+ char *p;
+ int rc;
+
+ if (argc < 2)
+ p = getenv("TERM");
+ else
+ p = argv[1];
+ rc = tgetent(buf,p);
+ printf("tgetent returns %d, len=%d, text=\n'%s'\n",rc,strlen(buf),buf);
+}
diff --git a/lib/libtermcap/TEST/tc2.c b/lib/libtermcap/TEST/tc2.c
new file mode 100644
index 0000000..1db9d00
--- /dev/null
+++ b/lib/libtermcap/TEST/tc2.c
@@ -0,0 +1,90 @@
+/*-
+ * Copyright (c) 1983, 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.
+ */
+
+#ifndef lint
+static char copyright[] =
+"@(#) Copyright (c) 1983, 1993\n\
+ The Regents of the University of California. All rights reserved.\n";
+#endif /* not lint */
+
+#ifndef lint
+static char sccsid[] = "@(#)tc2.c 8.1 (Berkeley) 6/4/93";
+#endif /* not lint */
+
+/*
+ * tc2 [term]
+ * Dummy program to test out termlib.
+ * Commands are "tcc\n" where t is type (s for string, f for flag,
+ * or n for number) and cc is the name of the capability.
+ */
+#include <stdio.h>
+char buf[1024];
+char *getenv(), *tgetstr();
+
+main(argc, argv) char **argv; {
+ char *p, *q;
+ int rc;
+ char b[3], c;
+ char area[200];
+
+ if (argc < 2)
+ p = getenv("TERM");
+ else
+ p = argv[1];
+ rc = tgetent(buf,p);
+ for (;;) {
+ c = getchar();
+ if (c < 0)
+ exit(0);
+ b[0] = getchar();
+ if (b[0] < ' ')
+ exit(0);
+ b[1] = getchar();
+ b[2] = 0;
+ getchar();
+ switch(c) {
+ case 'f':
+ printf("%s: %d\n",b,tgetflag(b));
+ break;
+ case 'n':
+ printf("%s: %d\n",b,tgetnum(b));
+ break;
+ case 's':
+ q = area;
+ printf("%s: %s\n",b,tgetstr(b,&q));
+ break;
+ default:
+ exit(0);
+ }
+ }
+}
diff --git a/lib/libtermcap/TEST/tc3.c b/lib/libtermcap/TEST/tc3.c
new file mode 100644
index 0000000..3935e10
--- /dev/null
+++ b/lib/libtermcap/TEST/tc3.c
@@ -0,0 +1,112 @@
+/*-
+ * Copyright (c) 1983, 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.
+ */
+
+#ifndef lint
+static char copyright[] =
+"@(#) Copyright (c) 1983, 1993\n\
+ The Regents of the University of California. All rights reserved.\n";
+#endif /* not lint */
+
+#ifndef lint
+static char sccsid[] = "@(#)tc3.c 8.1 (Berkeley) 6/4/93";
+#endif /* not lint */
+
+/*
+ * tc3 [term]
+ * Dummy program to test out termlib. Input two numbers (row and col)
+ * and it prints out the tgoto string generated.
+ */
+#include <stdio.h>
+char buf[1024];
+char *getenv(), *tgetstr();
+char *rdchar();
+char *tgoto();
+char *CM;
+char cmbuff[30];
+char *x;
+char *UP;
+char *tgout;
+
+main(argc, argv) char **argv; {
+ char *p;
+ int rc;
+ int row, col;
+
+ if (argc < 2)
+ p = getenv("TERM");
+ else
+ p = argv[1];
+ rc = tgetent(buf,p);
+ x = cmbuff;
+ UP = tgetstr("up", &x);
+ printf("UP = %x = ", UP); pr(UP); printf("\n");
+ if (UP && *UP==0)
+ UP = 0;
+ CM = tgetstr("cm", &x);
+ printf("CM = "); pr(CM); printf("\n");
+ for (;;) {
+ if (scanf("%d %d", &row, &col) < 2)
+ exit(0);
+ tgout = tgoto(CM, col, row);
+ pr(tgout);
+ printf("\n");
+ }
+}
+
+pr(p)
+register char *p;
+{
+ for (; *p; p++)
+ printf("%s", rdchar(*p));
+}
+
+/*
+ * rdchar() returns a readable representation of an ASCII character
+ * using ^ for control, ' for meta.
+ */
+#include <ctype.h>
+char *rdchar(c)
+char c;
+{
+ static char ret[4];
+ register char *p = ret;
+
+ if ((c&0377) > 0177)
+ *p++ = '\'';
+ c &= 0177;
+ if (!isprint(c))
+ *p++ = '^';
+ *p++ = (isprint(c) ? c : c^0100);
+ *p = 0;
+ return (ret);
+}
OpenPOWER on IntegriCloud