#if defined(DOSCCS) && !defined(lint) static char sccsid[] = "@(#)tttermcap.c 3.7 1/06/94"; #endif /* * Copyright (c) 1983 Regents of the University of California, * All rights reserved. Redistribution permitted subject to * the terms of the Berkeley Software License Agreement. */ #include "tt.h" char *tgetstr(); char *tgoto(); char *malloc(); tttputc(c) { ttputc(c); } ttxputc(c) { *tt_strp++ = c; } struct tt_str * tttgetstr(str) char *str; { register struct tt_str *s; if ((str = tgetstr(str, &tt_strp)) == 0) return 0; if ((s = (struct tt_str *) malloc(sizeof *s)) == 0) return 0; s->ts_str = str; s->ts_n = tt_strp - s->ts_str - 1; return s; } struct tt_str * ttxgetstr(str) char *str; { register struct tt_str *s; char buf[100]; char *bufp = buf; if (tgetstr(str, &bufp) == 0) return 0; if ((s = (struct tt_str *) malloc(sizeof *s)) == 0) return 0; s->ts_str = tt_strp; tputs(buf, 1, ttxputc); s->ts_n = tt_strp - s->ts_str; *tt_strp++ = 0; return s; } tttgoto(s, col, row) struct tt_str *s; { register char *p = s->ts_str; ttputs(tgoto(p, col, row)); for (p += s->ts_n; *--p == 0;) ttputc(0); }