Релиз консольной библиотеки ncurses 6.5

После полутора лет разработки представлен релиз библиотеки ncurses 6.5, предназначенной для создания многоплатформенных интерактивных консольных пользовательских интерфейсов и поддерживающей эмуляцию программного интерфейса curses из System V Release 4.0 (SVr4). Выпуск ncurses 6.5 совместим на уровне исходных текстов с ветками ncurses 5.x и 6.0, но расширяет ABI. Из популярных приложений, построенных с использованием ncurses, можно отметить aptitude, lynx, mutt, ncftp, vim, vifm, minicom, mosh, screen, tmux, emacs, less.

Среди добавленных новшеств:

  • В программные интерфейсы для низкоуровневого доступа к terminfo и termcap добавлены функции: tiparm_s для передачи информации об ожидаемых строковых параметрах терминала, которые используются для формирования вывода на терминал; tiscan_s для проверки возможностей форматирования при передаче строковых параметров в функцию tiparm_s. Указанные функции решают проблемы при обработке повреждённых или некорректных файлов с параметрами терминала (terminfo и termcap).
  • Добавлена сборочная опция “–enable-check-size” для упрощения инициализации на терминалах, не передающих данные о размере окна или экрана. При включении опции для определения размера окна в setupterm используется данные о позиции курсора, если данные о размере не выставлены через переменные окружения и не передаются через ioctl.
  • Добавлены функции для получения флагов TTY из структур с типом SCREEN.
  • Добавлены проверки для более безопасной обработки строковых параметров в функциях tiparm, tparm и tgoto.
Release. Ссылка here.