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)