Подробности

[В начало]

Проблема в стандарте № S0357

Краткое описание

Разрешение или запрещение использования мета символов не влияет на поведение функции keyname()

Подробное описание

Стандарт LSB 3.1 ссылается на SUSv2 при описании функций из библиотеки ncurses. В соответствии с этим стандартом, нотация мета символов в keyname() используется только если использование такой нотации разрешено. Но на следующем примере видно, что это не так. Кстати такое поведение не противоречит документации разработчиков ncurses, послкольку там нет утверждений, что нотация мета символов в keyname() используется только если использование такой нотации разрешено.

#include <ncurses.h> int main(int argc, char* argv[]) { WINDOW * win; win = initscr(); mvprintw(3, 1, "meta off: %d", meta(win, false)); mvprintw(4, 1, "keyname() for %d: %s ", 180, keyname(180)); mvprintw(5, 1, "meta on: %d", meta(win, true)); mvprintw(6, 1, "keyname() for %d: %s ", 180, keyname(180)); slk_refresh(); getch(); endwin(); printf("\n"); return 0; }

Раздел стандарта

Linux Standard Base Core Specification 3.1, Chapter 14. Utility Libraries, 14.5. Interfaces for libncurses.

Ссылки

Ссылок на проблему не найдено

Принято

LSB Bugzilla, 1604

[В начало]