if (t->elen + 1 >= (int)sizeof(t->ebuf)) {
cancel:
+#ifndef NDEBUG
+ fprintf(stderr, "cancelled: \\033");
+ for (int i = 0; i < (int)t->elen; i++) {
+ if (isprint(t->ebuf[i])) {
+ fputc(t->ebuf[i], stderr);
+ } else {
+ fprintf(stderr, "\\%03o", t->ebuf[i]);
+ }
+ }
+ fputc('\n', stderr);
+#endif
cancel_escape_sequence(t);
}
}
0x2502, 0x2264, 0x2265, 0x03c0, 0x2260, 0x00a3, 0x00b7, // 78-7e
};
-void madtty_putc(madtty_t *t, wchar_t wc)
+static void madtty_putc(madtty_t *t, wchar_t wc)
{
int width = 0;
void madtty_init_colors(void)
{
- if (COLORS > 8) {
+ if (COLOR_PAIRS > 64) {
use_default_colors();
assume_default_colors(-1, -1);
has_default = 1;
int madtty_color_pair(int fg, int bg)
{
- return has_default ? (fg + 1) * 16 + bg + 1 : (7 - fg) * 8 + bg;
+ if (has_default) {
+ if (fg < -1)
+ fg = -1;
+ if (bg < -1)
+ bg = -1;
+ return COLOR_PAIR((fg + 1) * 16 + bg + 1);
+ }
+ if (fg < 0)
+ fg = COLOR_WHITE;
+ if (bg < 0)
+ bg = COLOR_BLACK;
+ return COLOR_PAIR((7 - fg) * 8 + bg);
}