В XSH 2.9.1, wctomb
указан как одна из функций, которые не требуются для потокобезопасности. Однако противоположная функция преобразования mbtowc
не отображается в списке. При реализации с кодировками, использующими состояния сдвига, ни один из них не имеет потокобезопасного API, и нет никакого смысла, чтобы требовалось быть потокобезопасным, а другое - нет, хотя ни одно из них не может быть потокобезопасным, не запрещая кодирование с сохранением состояния.
Аналогично для wcstombs
(который находится в списке) и mbstowcs
(а это не так). Поскольку обе эти функции работают со всеми строками, которые начинаются и заканчиваются в начальном состоянии сдвига, они не имеют состояния, их API-интерфейсы являются потокобезопасными, и снова нет смысла, чтобы одно направление было определено как потокобезопасное, но не другие.
Может ли кто-нибудь пролить свет на это?