wcsxfrm (original) (raw)

The Open Group Base Specifications Issue 6
IEEE Std 1003.1, 2004 Edition
Copyright © 2001-2004 The IEEE and The Open Group, All Rights reserved.

A newer edition of this document exists here


NAME

wcsxfrm - wide-character string transformation

SYNOPSIS

`#include <wchar.h>

size_t wcsxfrm(wchar_t *restrict

ws1, const wchar_t *restrict ws2,
size_t n);
`

DESCRIPTION

[CX] [Option Start] The functionality described on this reference page is aligned with the ISO C standard. Any conflict between the requirements described here and the ISO C standard is unintentional. This volume of IEEE Std 1003.1-2001 defers to the ISO C standard. [Option End]

The wcsxfrm() function shall transform the wide-character string pointed to by ws2 and place the resulting wide-character string into the array pointed to by ws1. The transformation shall be such that if wcscmp() is applied to two transformed wide strings, it shall return a value greater than, equal to, or less than 0, corresponding to the result of wcscoll() applied to the same two original wide-character strings. No more than n wide-character codes shall be placed into the resulting array pointed to by ws1, including the terminating null wide-character code. If n is 0, ws1 is permitted to be a null pointer. If copying takes place between objects that overlap, the behavior is undefined.

[CX] [Option Start] The_wcsxfrm_() function shall not change the setting of errno if successful.

Since no return value is reserved to indicate an error, an application wishing to check for error situations should set_errno_ to 0, then call wcsxfrm(), then check errno. [Option End]

RETURN VALUE

The wcsxfrm() function shall return the length of the transformed wide-character string (not including the terminating null wide-character code). If the value returned is n or more, the contents of the array pointed to by ws1 are unspecified.

[CX] [Option Start] On error, the wcsxfrm() function may set errno, but no return value is reserved to indicate an error. [Option End]

ERRORS

The wcsxfrm() function may fail if:

[EINVAL]

[CX] [Option Start]The wide-character string pointed to by ws2 contains wide-character codes outside the domain of the collating sequence. [Option End]


The following sections are informative.

EXAMPLES

None.

APPLICATION USAGE

The transformation function is such that two transformed wide-character strings can be ordered by wcscmp() as appropriate to collating sequence information in the program's locale (category_LC_COLLATE )._

The fact that when n is 0 ws1 is permitted to be a null pointer is useful to determine the size of the _ws1_array prior to making the transformation.

RATIONALE

None.

FUTURE DIRECTIONS

None.

SEE ALSO

wcscmp(), wcscoll(), the Base Definitions volume of IEEE Std 1003.1-2001, <wchar.h>

CHANGE HISTORY

First released in Issue 4. Derived from the MSE working draft.

Issue 5

Moved from ENHANCED I18N to BASE and the [ENOSYS] error is removed.

The DESCRIPTION is updated to indicate that errno is not changed if the function is successful.

Issue 6

In previous versions, this function was required to return -1 on error.

Extensions beyond the ISO C standard are marked.

The following new requirements on POSIX implementations derive from alignment with the Single UNIX Specification:

The wcsxfrm() prototype is updated for alignment with the ISO/IEC 9899:1999 standard.

End of informative text.


UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
[ Main Index | XBD | XCU | XSH | XRAT]