xref: /freebsd/lib/libc/string/strxfrm.3 (revision dc36d6f9bb1753f3808552f3afd30eda9a7b206a)
17b7aeeccSAndrey A. Chernov.\" Copyright (c) 1990, 1991, 1993
27b7aeeccSAndrey A. Chernov.\"	The Regents of the University of California.  All rights reserved.
37b7aeeccSAndrey A. Chernov.\"
47b7aeeccSAndrey A. Chernov.\" This code is derived from software contributed to Berkeley by
57b7aeeccSAndrey A. Chernov.\" Chris Torek and the American National Standards Committee X3,
67b7aeeccSAndrey A. Chernov.\" on Information Processing Systems.
758f0484fSRodney W. Grimes.\"
858f0484fSRodney W. Grimes.\" Redistribution and use in source and binary forms, with or without
958f0484fSRodney W. Grimes.\" modification, are permitted provided that the following conditions
1058f0484fSRodney W. Grimes.\" are met:
1158f0484fSRodney W. Grimes.\" 1. Redistributions of source code must retain the above copyright
1258f0484fSRodney W. Grimes.\"    notice, this list of conditions and the following disclaimer.
1358f0484fSRodney W. Grimes.\" 2. Redistributions in binary form must reproduce the above copyright
1458f0484fSRodney W. Grimes.\"    notice, this list of conditions and the following disclaimer in the
1558f0484fSRodney W. Grimes.\"    documentation and/or other materials provided with the distribution.
16*3fb3b97cSEd Maste.\" 3. Neither the name of the University nor the names of its contributors
177b7aeeccSAndrey A. Chernov.\"    may be used to endorse or promote products derived from this software
187b7aeeccSAndrey A. Chernov.\"    without specific prior written permission.
1958f0484fSRodney W. Grimes.\"
207b7aeeccSAndrey A. Chernov.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
2158f0484fSRodney W. Grimes.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2258f0484fSRodney W. Grimes.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
237b7aeeccSAndrey A. Chernov.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
2458f0484fSRodney W. Grimes.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2558f0484fSRodney W. Grimes.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2658f0484fSRodney W. Grimes.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2758f0484fSRodney W. Grimes.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2858f0484fSRodney W. Grimes.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2958f0484fSRodney W. Grimes.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
3058f0484fSRodney W. Grimes.\" SUCH DAMAGE.
3158f0484fSRodney W. Grimes.\"
327b7aeeccSAndrey A. Chernov.Dd June 4, 1993
3358f0484fSRodney W. Grimes.Dt STRXFRM 3
3458f0484fSRodney W. Grimes.Os
3558f0484fSRodney W. Grimes.Sh NAME
3658f0484fSRodney W. Grimes.Nm strxfrm
3758f0484fSRodney W. Grimes.Nd transform a string under locale
3825bb73e0SAlexey Zelkin.Sh LIBRARY
3925bb73e0SAlexey Zelkin.Lb libc
4058f0484fSRodney W. Grimes.Sh SYNOPSIS
4132eef9aeSRuslan Ermilov.In string.h
4258f0484fSRodney W. Grimes.Ft size_t
4333f9b60eSRobert Drehmel.Fn strxfrm "char * restrict dst" "const char * restrict src" "size_t n"
44db356f03SIsabell Long.Ft size_t
45db356f03SIsabell Long.Fn strxfrm_l "char * restrict dst" "const char *restrict src" "size_t n" "locale_t loc"
4658f0484fSRodney W. Grimes.Sh DESCRIPTION
4758f0484fSRodney W. GrimesThe
4858f0484fSRodney W. Grimes.Fn strxfrm
49a5ed710cSMike Pritchardfunction transforms a null-terminated string pointed to by
50a4d5d0cbSAndrey A. Chernov.Fa src
51a4d5d0cbSAndrey A. Chernovaccording to the current locale collation if any,
52e7f6db3cSAndrey A. Chernovthen copies the transformed string
53f0e6ee9fSAndrey A. Chernovinto
54f0e6ee9fSAndrey A. Chernov.Fa dst .
55f0e6ee9fSAndrey A. ChernovNot more than
56f0e6ee9fSAndrey A. Chernov.Fa n
57f0e6ee9fSAndrey A. Chernovcharacters are copied into
58a4d5d0cbSAndrey A. Chernov.Fa dst ,
59f0e6ee9fSAndrey A. Chernovincluding the terminating null character added.
60f0e6ee9fSAndrey A. ChernovIf
61f0e6ee9fSAndrey A. Chernov.Fa n
62e7f6db3cSAndrey A. Chernovis set to 0
63e7f6db3cSAndrey A. Chernov(it helps to determine an actual size needed
64e7f6db3cSAndrey A. Chernovfor transformation),
65f0e6ee9fSAndrey A. Chernov.Fa dst
66e7f6db3cSAndrey A. Chernovis permitted to be a NULL pointer.
67f0e6ee9fSAndrey A. Chernov.Pp
68a4d5d0cbSAndrey A. ChernovComparing two strings using
69a4d5d0cbSAndrey A. Chernov.Fn strcmp
70a4d5d0cbSAndrey A. Chernovafter
71a4d5d0cbSAndrey A. Chernov.Fn strxfrm
72a4d5d0cbSAndrey A. Chernovis equal to comparing
73a4d5d0cbSAndrey A. Chernovtwo original strings with
74a4d5d0cbSAndrey A. Chernov.Fn strcoll .
75db356f03SIsabell Long.Pp
76db356f03SIsabell Long.Fn strxfrm_l
77db356f03SIsabell Longdoes the same, however takes an explicit locale rather than the global
78db356f03SIsabell Longlocale.
79f0e6ee9fSAndrey A. Chernov.Sh RETURN VALUES
80f0e6ee9fSAndrey A. ChernovUpon successful completion,
81f0e6ee9fSAndrey A. Chernov.Fn strxfrm
82db356f03SIsabell Longand
83db356f03SIsabell Long.Fn strxfrm_l
84db356f03SIsabell Longreturn the length of the transformed string not including
85c6ff3a1bSSheldon Hearnthe terminating null character.
86c6ff3a1bSSheldon HearnIf this value is
879cee5c5bSAndrey A. Chernov.Fa n
889cee5c5bSAndrey A. Chernovor more, the contents of
899cee5c5bSAndrey A. Chernov.Fa dst
909cee5c5bSAndrey A. Chernovare indeterminate.
9158f0484fSRodney W. Grimes.Sh SEE ALSO
92a4d5d0cbSAndrey A. Chernov.Xr setlocale 3 ,
9358f0484fSRodney W. Grimes.Xr strcmp 3 ,
942fe3e5cdSTim J. Robbins.Xr strcoll 3 ,
952fe3e5cdSTim J. Robbins.Xr wcsxfrm 3
9658f0484fSRodney W. Grimes.Sh STANDARDS
9758f0484fSRodney W. GrimesThe
9858f0484fSRodney W. Grimes.Fn strxfrm
9958f0484fSRodney W. Grimesfunction
10058f0484fSRodney W. Grimesconforms to
101588a200cSRuslan Ermilov.St -isoC .
102db356f03SIsabell LongThe
103db356f03SIsabell Long.Fn strxfrm_l
104db356f03SIsabell Longfunction conforms to
105db356f03SIsabell Long.St -p1003.1-2008 .
106