Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

colltbl(1M)

reentrant(3)

setlocale(3C)

strcoll(3C)

string(3C)

environ(5)

strxfrm(3C)



strxfrm(3C)                    DG/UX 5.4R3.00                    strxfrm(3C)


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 bytes will be placed into the resulting array pointed
       to by s1, including the terminating null byte.  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 byte).  If the value returned is n or more, the
       contents of the array s1 are indeterminate.


   Considerations for Threads Programming
                     +---------+-----------------------------+
                     |         |                      async- |
                     |function | reentrant   cancel   cancel |
                     |         |              point    safe  |
                     +---------+-----------------------------+
                     |strxfrm  |     Y          Y        N   |
                     +---------+-----------------------------+
       strxfrm should be called when the other threads in a process are not
       in the process of changing the LC_COLLATE database.  See the
       setlocale(3C) man page for more information.



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), reentrant(3),
       setlocale(3C), strcoll(3C), string(3C), environ(5).




Licensed material--property of copyright holder(s)                         1




strxfrm(3C)                    DG/UX 5.4R3.00                    strxfrm(3C)


DIAGNOSTICS
       On failure, strxfrm returns (size_t) -1.























































Licensed material--property of copyright holder(s)                         2


Typewritten Software • bear@typewritten.org • Edmonds, WA 98026