Собсно столкнулся с немного странной проблемой при использовании термкапа: при попытке использования каких либо команд тот падает лицом в асфальт, выдавая ошибку сегментации. Поначалу грешил на свой код, но в результате тестов, оказалось, что сегфолтит даже простейший мейник вида:

int main(void)
{
struct termios term, cur_term;
int width;

tcgetattr(0, &term);
cur_term = term;
cur_term.c_lflag &= (unsigned long)~(ICANON | ECHO | ECHONL);
tcsetattr(0, TCSANOW, &cur_term);
width = tgetnum("co"
printf("%d\n", width);
tcsetattr(0, TCSANOW, &term);
}

сегфолт в данном случае возникает в момент вызова tgetnum, но точно такой же результат возникнет и при вызове любой другой функции из библиотеки. Тестировал в termite, urxvt и xterm. Сам termcap установлен из AUR.

Тот же код вполне адекватно работает под убунтой и макосью. ЧЯДНТ?








 , ,






URL записи