#elif defined(USE_TERMCAP)
- term = getenv("TERM"); if (!term) return (-1);
- if (tgetent(tty->termbuf, term) < 1) return (-1);
-
tty->termbuf = malloc(4096); if (!tty->termbuf) return (-1);
tty->capbuf = malloc(4096); if (!tty->capbuf) return (-1);
+ term = getenv("TERM"); if (!term) return (-1);
+ if (tgetent(tty->termbuf, term) < 1) return (-1);
+
capcur = tty->capbuf;
tty->cap.cr = tgetstr("cr", &capcur);
tty->cap.nw = tgetstr("nw", &capcur);
if (tgetflag("ut") > 0) tty->cap.f |= TCF_BCE;
- t = tgetstr("pc", &capcur); PC = t ? *t : 0;
+ t = tgetstr("pc", &capcur); tty->cap.pc = t ? *t : 0;
SETDIM(defwd, "COLUMNS", tgetnum("co"), 80);
SETDIM(defht, "LINES", tgetnum("li"), 25);
#ifdef USE_TERMCAP
render->old_bc = BC; BC = 0;
render->old_up = UP; UP = 0;
+ render->old_pc = PC; PC = tty->cap.pc;
#endif
if (!ioctl(fileno(tty->fp), TIOCGWINSZ, &wsz))
#ifdef USE_TERMCAP
UP = render->old_up;
BC = render->old_bc;
+ PC = render->old_pc;
#endif
}