Подробности
[В начало]
Проблема в стандарте № S0319
Краткое описание
Вызов функции ripoffline() более пяти раз возвращает -1
Подробное описание
В соответствии co стандартом SUSv2, на который ссылается LSB, вызовы функции ripoffline() более 5 раз должны не давать результата, но возвращать OK.
Но в следующем коде ripoffline() возвращает -1 на шестом вызове, что противоречит стандарту.
#include <stdio.h>
#include <curses.h>
int init(WINDOW *win, int columns)
{
return 1;
}
int main(int argc, char* argv[])
{
printf("%d\n", ripoffline(1, init));
printf("%d\n", ripoffline(1, init));
printf("%d\n", ripoffline(1, init));
printf("%d\n", ripoffline(1, init));
printf("%d\n", ripoffline(1, init));
printf("%d\n", ripoffline(1, init));
return 0;
}
В тоже время, такое поведение функции ripoffline() не противоречит документации разработчиков ncurses, так как там написано, что функция возвращает -1 при вызове более пяти раз.
Видно, что функция работает в соответствии с документацией разработчиков ncurses, но не LSB.
Раздел стандарта
Linux Standard Base Core Specification 3.1, Chapter 14. Utility Libraries, 14.5. Interfaces for libncurses.
Способы устранения
Исправление стандарта LSB
Ссылки
Ссылки на проблему не найдены
Принято
LSB Bugzilla, 1632
Статус
Исправлена в LSB 4.0
[В начало]