Это ошибка в POSIX.1-2001.
Как описание POSIX strspn
говорит :
Функциональностьописание на этой справочной странице приведено в соответствие со стандартом ISO C.Любой конфликт между требованиями, описанными здесь, и стандартом ISO C является непреднамеренным.Этот том IEEE Std 1003.1-2001 соответствует стандарту ISO C.
И стандарту C (ISO 9899: 1999, 7.21.5.6 Функция strspn
) ясно говорит:
Функция strspn
возвращает длину сегмента.
В более новых выпусках POSIX исправлена формулировка, чтобы она говорила то же самое, что истандарт С, который всегда был задуман.(По-видимому, это было замечено и изменено в 2006 году; см. https://www.opengroup.org/austin/docs/austin_330.txt. * Текущая версия strspn
*1027* в POSIX именует это (довольно загадочно) как " SD5-XSH-ERN-182 применяется"в разделе ИЗМЕНЕНИЯ ИСТОРИИ.)
Поскольку POSIX говорит, что это" соответствует стандарту ISO C ", я считаю, что совместимые реализации должны следовать стандарту C, когда возникает конфликт, такой какв этом случае.