Подробности

[В начало]

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

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

LSB описывает неполный набор MM_* констант, необходимых для функции fmtmsg()

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

Стандарт POSIX, на который ссылается LSB 3.2 для описания требований к функции fmtmsg(), в описаниях fmtmsg() и <fmtmsg.h> определяет следующее множество MM_* констант:

/* Values to be for CLASSIFICATION parameter of `fmtmsg': Major Classifications. */
MM_HARD
MM_SOFT
MM_FIRM

/* Values to be for CLASSIFICATION parameter of `fmtmsg': Message Source Subclassifications. */
MM_APPL
MM_UTIL
MM_OPSYS

/* Values to be for CLASSIFICATION parameter of `fmtmsg': Display Subclassifications. */
MM_PRINT
MM_CONSOLE

/* Values to be for CLASSIFICATION parameter of `fmtmsg': Status Subclassifications. */
MM_RECOVER
MM_NRECOV

/* Values to be for SEVERITY parameter of `fmtmsg'. */
MM_NOSEV
MM_HALT
MM_ERROR
MM_WARNING
MM_INFO

/* Possible return values of `fmtmsg'. */
MM_OK
MM_NOTOK
MM_NOMSG
MM_NOCON

/* Macroses which can be used as null values for the arguments of `fmtmsg'. */
MM_NULLLBL
MM_NULLSEV
MM_NULLMC
MM_NULLTXT
MM_NULLACT
MM_NULLTAG
В самом же стандарте LSB 3.2 определена только часть этих констант. А следующие константы не определены:
MM_PRINT
MM_CONSOLE

MM_NULLSEV
MM_NULLMC
MM_NULLTXT
MM_NULLACT
MM_NULLTAG

MM_WARNING
MM_INFO

MM_OK
MM_NOTOK
MM_NOMSG
MM_NOCON
Библиотека glibc предоставляет все MM_* константы, описанные в стандарте POSIX, с самых начальных версий.

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

Linux Standard Base Core Specification 3.2, Chapter 13. Base Libraries, 13.4. Data Definitions for libc. 13.4.8. fmtmsg.h

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

Добавить определение недостающих констант в стандарт LSB.

Принято

LSB Bugzilla, 2124

Статус

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

[В начало]