Guardian Native C Library Calls Reference Manual (G06.28+, H06.05+)

wcsxfrm(3) Guardian Native C Library Calls Reference Manual
NAME
wcsxfrm - Transforms wide character strings for collation in the current locale
LIBRARY
G-series native Guardian processes: $SYSTEM.SYSnn.ZCRTLSRL
G-series native OSS processes: /G/system/sysnn/zcrtlsrl
H-series native Guardian processes: $SYSTEM.ZDLLnnn.ZCRTLDLL
H-series OSS processes: /G/system/zdllnnn/zcrtldll
SYNOPSIS
#include <wchar.h>
size_t wcsxfrm(
wchar_t *ws1,
const wchar_t *ws2,
size_t n);
PARAMETERS
ws1 Contains a pointer to the destination wide-character string.
ws2 Contains a pointer to the source wide-character string.
n Species the maximum number of wide-character codes to place into the array
specied by ws1.
DESCRIPTION
The wcsxfrm( ) function is used to transform the wide-character string specied by the ws2
parameter into a string of wide-character codes based on the collation values of the wide charac-
ters in the current locale setting as specied by the LC_COLLATE category. No more than the
number of wide characters specied by the n parameter are copied into the array specied by the
ws1 parameter. This transformation is such that when two such transformed wide-character
strings are obtained and the transformed strings are compared using the wcscmp() function, the
result obtained would be same as would be obtained by a direct call to the wcscoll( ) function on
the two original wide-character strings.
When operating on overlapping strings, the behavior of this function is unreliable.
NOTES
If you are doing multiple comparisons based on the current locales collation values using the
same set of text strings, the wcsxfrm() transformation function in conjunction with the
wcscmp() function may be more efcient than using the wcscoll() collation function because the
string is transformed based on the locale tables only once. However, the transformation function
must convert all characters in the string for each level of a multi-level collation. In comparison,
the collation function stops comparing characters at the rst inequality. These efciency
tradeoffs make the most efcient method for a specic application dependent on the number of
repeated comparisons of strings within the set, the number of collation levels for the current
locale, and the values of the strings within the set.
RETURN VALUES
If the ws1 parameter is a wide-character null pointer, the wcsxfrm() function returns the number
of wide-character elements (not including the terminating null wide character) required to store
the transformed wide-character string. If the count specied by the n parameter is sufcient to
hold the transformed string in the ws1 parameter (including the terminating null wide character)
the return value is set to the actual number of wide-character elements placed in the ws1 parame-
ter, not including the terminating null wide character. If the return value is equal to or greater
than the value specied by the n parameter, the contents of the array pointed to by the ws1
parameter are indeterminate. This occurs whenever the value specied by the n parameter is too
small to hold the entire transformed string.
792 Hewlett-Packard Company 527192-007