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