strxfrm man page on SmartOS

Printed from http://www.polarhome.com/service/man/?qf=strxfrm&af=0&tf=2&of=SmartOS

STRXFRM(3C)							   STRXFRM(3C)

NAME
       strxfrm - string transformation

SYNOPSIS
       #include <string.h>

       size_t strxfrm(char *restrict s1, const char *restrict s2, size_t n);

DESCRIPTION
       The  strxfrm()  function	 transforms  the  string  pointed to by s2 and
       places the resulting string into the array pointed to by s1. The trans‐
       formation  is  such  that  if  strcmp(3C) is applied to two transformed
       strings, it returns a value greater than, equal to or less than 0, cor‐
       responding  to the result of strcoll(3C) applied to the same two origi‐
       nal strings. No more than n bytes are placed into the  resulting	 array
       pointed	to  by s1, including the terminating null byte.	 If n is 0, s1
       is permitted to be a null  pointer.  If	copying	 takes	place  between
       objects that overlap, the behavior is undefined.

       The strxfrm() function does not change the setting of errno if success‐
       ful.

       Since no return value is reserved to indicate an error, an  application
       wishing	to check for error situations should set errno to 0, then call
       strxfrm(), then check errno.

RETURN VALUES
       Upon successful completion, strxfrm() returns the length of the	trans‐
       formed  string  (not including the terminating null byte). If the value
       returned is n or more, the contents of the array pointed to by  s1  are
       indeterminate.

       On  error,  strxfrm()  may set errno but no return value is reserved to
       indicate the error.

USAGE
       The transformation function is such that two transformed strings can be
       ordered	by strcmp(3C) as appropriate to collating sequence information
       in the program's locale (category LC_COLLATE).

       The fact that when n is 0, s1 is permitted to be	 a  null  pointer,  is
       useful to determine the size of the s1 array prior to making the trans‐
       formation.

EXAMPLES
       Example 1 A sample of using the strxfm() function.

       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/locale.so.*

	   LC_COLLATE database for locale

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌────────────────────┬─────────────────────────┐
       │  ATTRIBUTE TYPE    │	  ATTRIBUTE VALUE     │
       ├────────────────────┼─────────────────────────┤
       │CSI		    │ Enabled		      │
       ├────────────────────┼─────────────────────────┤
       │Interface Stability │ Standard		      │
       ├────────────────────┼─────────────────────────┤
       │MT-Level	    │ MT-Safe with exceptions │
       └────────────────────┴─────────────────────────┘

       The  strxfrm()  function can be used safely in a multithreaded applica‐
       tion, as long as setlocale(3C)  is  not	being  called  to  change  the
       locale.

SEE ALSO
       localedef(1),   setlocale(3C),	strcmp(3C),  strcoll(3C),  wscoll(3C),
       attributes(5), environ(5), standards(5)

				 Dec 10, 2003			   STRXFRM(3C)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net