diff options
Diffstat (limited to 'lib/libterm/TEST')
-rw-r--r-- | lib/libterm/TEST/tc1.c | 63 | ||||
-rw-r--r-- | lib/libterm/TEST/tc2.c | 90 | ||||
-rw-r--r-- | lib/libterm/TEST/tc3.c | 112 |
3 files changed, 265 insertions, 0 deletions
diff --git a/lib/libterm/TEST/tc1.c b/lib/libterm/TEST/tc1.c new file mode 100644 index 0000000..fd0870a --- /dev/null +++ b/lib/libterm/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/libterm/TEST/tc2.c b/lib/libterm/TEST/tc2.c new file mode 100644 index 0000000..1db9d00 --- /dev/null +++ b/lib/libterm/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/libterm/TEST/tc3.c b/lib/libterm/TEST/tc3.c new file mode 100644 index 0000000..3935e10 --- /dev/null +++ b/lib/libterm/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); +} |