Подробности
[В начало]
Проблема в стандарте № S0313
Краткое описание
Поведение функции mvcur() на некорректных адресах не соответствует SuSv2
Подробное описание
LSB 3.1 ссылается на SUSv2 при описании функции mvcur() из библиотеки ncurses, в котором сказано: "If (newrow,newcol) is not a valid address for the terminal in use, mvcur() fails."
Реализация функции mvcur() в ncurses не возвращает ошибку, если ее вызвать с очень большими аргументами (-1000000, -1000000), (10000000, 10000000).
#include#include int main(int argc, char* argv[]) { int res; initscr(); move(LINES/2, COLS/2); res = mvcur(LINES/2, COLS/2, 10000000, 10000000); endwin(); printf("mvcur() returned %d (expected: %d)\n", res, ERR); return 0; }
Раздел стандарта
Linux Standard Base Core Specification 3.1, Chapter 14. Utility Libraries, 14.5. Interfaces for libncurses.
Принято
LSB Bugzilla, 1642
Статус
Исправлена в LSB 4.0
[В начало]
»