Provided by: libsynce0-dev_0.15-1.1_amd64 bug

NAME

       wstr_to_ascii - wide string handling functions

SYNOPSIS

       #include <synce.h>

       char *wstr_to_ascii(LPCWSTR unicode);
       char *wstr_to_utf8(LPCWSTR unicode);
       char *wstr_to_current(LPCWSTR unicode);

       LPWSTR wstr_from_ascii(const char * ascii);
       LPWSTR wstr_from_utf8(const char * utf8);
       LPWSTR wstr_from_current(const char * utf8);

       void wstr_free_string(void * string);

       size_t wstrlen(LPCWSTR unicode);

       LPWSTR wstrcpy(LPWSTR dest, LPCWSTR src);

       bool wstr_append(LPWSTR dest, LPCWSTR src, size_t max_dest_length);

       bool wstr_equal(LPWSTR a, LPWSTR b);

       LPWSTR wstrdup(LPCWSTR string);

DESCRIPTION

       The  wstr_to_xxx()  functions  convert a wide char string to the appropriate local string.
       The wstr_from_xxx() functions do  the  reverse.  Use  wstr_free_string()  to  free  memory
       allocated for wide strings.

       wstrcpy()  requires  that  dest  is  large  enough  to contain src.  No bounds checking is
       performed.

       wstr_append() requires that dest is at least max_dest_length long. No bounds  checking  is
       performed.

       The remaining functions perform standard string operations on wide char strings.

RETURN VALUE

       wstr_to_xxx()  and  wstr_from_xxx()  return  pointers to the allocated strings, or NULL on
       failure, which will occur if a source character cannot be represented in  the  destination
       encoding.

       wstrdup() return a pointer to the allocated string, or NULL on failure.  wstrlen() returns
       the string length.  wstrcpy() returns the pointer to src.

       wstr_append() returns false on failure eg. if the sum  of  the  lengths  is  greater  than
       max_dest_length, true on success.

       wstr_equal() returns true if a and b are equal, false otherwise.

SEE ALSO

       synce(7)