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)