--- strxfrm.3.bsdnew 2009-11-18 18:24:38.000000000 -0800 +++ strxfrm.3 2009-11-18 18:24:38.000000000 -0800 @@ -36,34 +36,48 @@ .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 * restrict dst" "const char * restrict 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 @@ -73,6 +87,14 @@ after 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 @@ -81,13 +103,14 @@ the terminating null character. 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 wcsxfrm 3 +.Xr wcsxfrm 3 , +.Xr xlocale 3 .Sh STANDARDS The .Fn strxfrm