Подробности
[В начало]
Проблема в стандарте № S0524
Краткое описание
Функции из семейства scanw() не возвращают OK в случае успешного завершения
Подробное описание
В соответствии со стандартом LSB, в случае успешного завершения функции из семейства scanw() должны возвращать OK. Но в man pages написано, что в случае успешного завершения функции возвращают количество обработанных полей. И действительно, функции ведут себя как написано в страницах man, а не в стандарте LSB.
Следующий код иллюстрирует проблему.
#include#include int main( int argc, char ** argv ) { int res; int var; initscr(); ungetch('\n'); ungetch('0'); ungetch('1'); ungetch(' '); res = mvscanw(5, 5, " %i", &var); endwin(); printf("Result of mvscanw():%d!=OK(%d), var=%d\n", res, OK, var); return 0; }
Раздел стандарта
Linux Standard Base Core Specification 3.1, Chapter 14. Utility Libraries, 14.5. Interfaces for libncurses.
Принято
LSB Bugzilla, 2350
Статус
Исправлена в LSB 4.0
[В начало]
»