OpenBSD manual page server

Manual Page Search Parameters

STRXFRM(3) Library Functions Manual STRXFRM(3)

strxfrm, strxfrm_ltransform a string under locale

#include <string.h>

size_t
strxfrm(char *dst, const char *src, size_t n);

size_t
strxfrm_l(char *dst, const char *src, size_t n, locale_t locale);

The idea of () and () is to “un-localize” a string: the functions transform src, storing the result in dst, such that strcmp(3) on transformed strings returns what strcoll(3) on the original untransformed strings would return.

On OpenBSD, both have the same effect as strlcpy(3), and the global locale, the thread-specific locale, and the locale argument are ignored. On other operating systems, the behaviour may depend on the LC_CTYPE and LC_COLLATE locale categories set with setlocale(3), uselocale(3), or newlocale(3).

newlocale(3), setlocale(3), strcmp(3), strcoll(3), strlcpy(3), wcsxfrm(3)

The strxfrm() function conforms to ANSI X3.159-1989 (“ANSI C89”), and strxfrm_l() to IEEE Std 1003.1-2008 (“POSIX.1”).

The strxfrm() function has been available since 4.3BSD-Reno, and strxfrm_l() since OpenBSD 6.2.

January 18, 2019 OpenBSD-7.1