.\" SUCH DAMAGE.
.\"
.\" @(#)strxfrm.3 8.1 (Berkeley) 6/4/93
-.\" $FreeBSD: src/lib/libc/string/strxfrm.3,v 1.14 2001/10/01 16:09:00 ru Exp $
+.\" $FreeBSD: src/lib/libc/string/strxfrm.3,v 1.17 2002/10/15 10:11:53 tjr Exp $
.\"
.Dd June 4, 1993
.Dt STRXFRM 3
.Os
.Sh NAME
-.Nm strxfrm
+.Nm strxfrm ,
+.Nm strxfrm_l
.Nd transform a string under locale
.Sh LIBRARY
.Lb libc
.Sh SYNOPSIS
.In string.h
.Ft size_t
-.Fn strxfrm "char *dst" "const char *src" "size_t n"
+.Fo strxfrm
+.Fa "char *restrict s1"
+.Fa "const char *restrict s2"
+.Fa "size_t n"
+.Fc
+.In string.h
+.In xlocale.h
+.Ft size_t
+.Fo strxfrm_l
+.Fa "char *restrict s1"
+.Fa "const char *restrict s2"
+.Fa "size_t n"
+.Fa "locale_t loc"
+.Fc
.Sh DESCRIPTION
The
.Fn strxfrm
function transforms a null-terminated string pointed to by
-.Fa src
+.Fa s2
according to the current locale collation if any,
then copies the transformed string
into
-.Fa dst .
+.Fa s1 .
Not more than
.Fa n
characters are copied into
-.Fa dst ,
+.Fa s1 ,
including the terminating null character added.
If
.Fa n
is set to 0
(it helps to determine an actual size needed
for transformation),
-.Fa dst
+.Fa s1
is permitted to be a NULL pointer.
.Pp
Comparing two strings using
is equal to comparing
two original strings with
.Fn strcoll .
+.Pp
+Although the
+.Fn strxfrm
+function uses the current locale, the
+.Fn strxfrm_l
+function may be passed a locale directly. See
+.Xr xlocale 3
+for more information.
.Sh RETURN VALUES
Upon successful completion,
.Fn strxfrm
If this value is
.Fa n
or more, the contents of
-.Fa dst
+.Fa s1
are indeterminate.
.Sh SEE ALSO
.Xr setlocale 3 ,
.Xr strcmp 3 ,
-.Xr strcoll 3
+.Xr strcoll 3 ,
+.Xr wcsxfrm 3 ,
+.Xr xlocale 3
.Sh STANDARDS
The
.Fn strxfrm