Подробности
        
                          [В начало]
Проблема в реализации № S0342
Краткое описание
slk_label() не удаляет лишние пробелы
Подробное описание
В стандарте SUSv2, на который ссылается LSB 3.1, для описания функции slk_label() сказано, что при успешном завершении эта функция должна вернуть переданную ей строку с убранными лишними пробелами.
 
Но иногда slk_label() возвращает строки, которые содержат необрезанные пробелы.
Раздел стандарта
Linux Standard Base Core Specification 3.1, Chapter 14. Utility Libraries, 14.5. Interfaces for libncurses.
Пример
#include <ncurses.h>
int main(int argc, char* argv[])
{
    WINDOW * win;
    char test1[] = "test1";
    char test2[] = "    test2";
    char test3[] = "test3    "; 
    char test4[] = "    test4    "; 
    char test5[] = "        "; 
    
    slk_init(0); // before initscr 
    
    win = initscr(); 
    
    slk_set(1, test1, 0); 
    slk_set(2, test2, 0); 
    slk_set(3, test3, 0); 
    slk_set(4, test4, 0); 
    slk_set(5, test5, 0); 
    
    mvprintw(3, 1, "slk_set: "); 
        mvprintw(3, 12, ""%s",", test1); 
        mvprintw(3, 22, ""%s",", test2); 
        mvprintw(3, 36, ""%s",", test3); 
        mvprintw(3, 50, ""%s",", test4); 
        mvprintw(3, 68, ""%s"", test5); 
    
    mvprintw(5, 1, "slk_label: "); 
        mvprintw(5, 12, ""%s",", slk_label(1) ); 
        mvprintw(5, 22, ""%s",", slk_label(2) ); 
        mvprintw(5, 36, ""%s",", slk_label(3) ); 
        mvprintw(5, 50, ""%s",", slk_label(4) ); 
        mvprintw(5, 68, ""%s"", slk_label(5) ); 
    
    slk_refresh(); 
    
    getch(); 
    
    endwin(); 
    
    printf("
"); 
    
    return 0; 
} 
                    Компонент
ncurses 5.4-13
Принято
Reported to bug-ncurses@gnu.org, archive for Apr 19, 2007
[В начало]
»