Provided by: manpages-posix-dev_2.16-1_all bug

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 shall transform the string pointed to by s2 and place the resulting
       string into the array pointed to by s1. The transformation is such  that  if  strcmp()  is
       applied  to  two  transformed  strings, it shall return a value greater than, equal to, or
       less than 0, corresponding to the result of strcoll() applied to  the  same  two  original
       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 shall not change the setting of errno if successful.

       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 VALUE

       Upon successful completion, strxfrm() shall return the length of  the  transformed  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 unspecified.

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

ERRORS

       The strxfrm() function may fail if:

       EINVAL The string pointed to by the s2 argument contains characters outside the domain  of
              the collating sequence.

       The following sections are informative.

EXAMPLES

       None.

APPLICATION USAGE

       The  transformation  function  is  such  that  two  transformed  strings can be ordered by
       strcmp() 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 transformation.

RATIONALE

       None.

FUTURE DIRECTIONS

       None.

SEE ALSO

       strcmp() , strcoll() , the Base Definitions volume of IEEE Std 1003.1-2001, <string.h>

COPYRIGHT

       Portions of this text are reprinted and  reproduced  in  electronic  form  from  IEEE  Std
       1003.1,  2003  Edition,  Standard  for Information Technology -- Portable Operating System
       Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2003  by
       the  Institute  of  Electrical  and  Electronics Engineers, Inc and The Open Group. In the
       event of any discrepancy between this version and the original IEEE  and  The  Open  Group
       Standard,  the  original  IEEE  and  The  Open Group Standard is the referee document. The
       original Standard can be obtained online at http://www.opengroup.org/unix/online.html .