Amiga Unix — 68040 · 68060

Manual pages › C library (3C)

strxfrm(3C)

string transformation

From the original Amiga UNIX 2.1 manual. Some things it mentions may not be in this release.

NAME

strxfrm - string transformation

SYNOPSIS

#include <string.h>

size_t strxfrm (char *s1, const char *s2, size_t n);

DESCRIPTION

strxfrm transforms the string s2 and places the resulting string into the array s1. The transformation is such that if strcmp is applied to two transformed strings, it will return the same result as strcoll applied to the same two original strings. The transformation is based on the program's locale for category LC_COLLATE [see setlocale(3C)].

No more than n characters will be placed into the resulting array pointed to by s1, including the terminating null character. If n is 0, then s1 is permitted to be a null pointer. If copying takes place between objects that overlap, the behavior is undefined.

strxfrm returns the length of the transformed string (not including the terminating null character). If the value returned is n or more, the contents of the array s1 are indeterminate.

EXAMPLE

The value of the following expression is the size of the array needed to hold the transformation of the string pointed to by s.

1 + strxfrm(NULL, s, 0);

FILES

/usr/lib/locale/locale/LC_COLLATE

LC_COLLATE database for locale.

SEE ALSO

colltbl(1M) in the System Administrator's Reference Manual.
setlocale(3C), strcoll(3C), string(3C), environ(5).

DIAGNOSTICS

On failure, strxfrm returns (size_t) -1.