Подробности

[В начало]

Проблема в стандарте № S0116

Краткое описание

Несоответствие типов полей we_wordc и we_offs типа wordexp_t в LSB 3.1 и SUSv3

Подробное описание

В LSB 3.1 wordexp.h (13.4. Data Definitions for libc, 13.4.80. wordexp.h) описывается тип wordexp_t:

typedef struct {
    int we_wordc;
    char **we_wordv;
    int we_offs;
} wordexp_t;

В этой структуре для полей we_wordc и we_offs указан тип int.

Однако в описании wordexp.h в SUSv3 для полей we_wordc и we_offs указан тип size_t:

"The structure type wordexp_t shall contain at least the following members:
size_t    we_wordc - Count of words matched by words.
char    **we_wordv - Pointer to list of expanded words.
size_t    we_offs - Slots to reserve at the beginning of we_wordv."

Раздел стандарта

Linux Standard Base Core Specification 3.1, Chapter 13. Base Libraries, 13.4. Data Definitions for libc, 13.4.80. wordexp.h.

Способы устранения

Заменить int на size_t в описании полей we_wordc и we_offs типа wordexp_t.

Принято

LSB Bugzilla, 1336

Статус

Исправлена в LSB 3.2

[В начало]