Подробности

[В начало]

Проблема в стандарте № 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

[В начало]