wchar_t *str2wcs( const char *in ) { wchar_t *out; size_t len = strlen(in); out = (wchar_t *)malloc( sizeof(wchar_t)*(len+1) ); if( !out ) { DIE_MEM(); } return str2wcs_internal( in, out ); }
/** Convert the specified wide character string to a narrow character string. This function uses an internal temporary buffer for storing the result so subsequent results will overwrite previous results. */ static wchar_t *wutil_str2wcs( const char *in ) { size_t new_sz; wutil_calls++; new_sz = sizeof(wchar_t)*(strlen(in)+1); if( tmp2_len < new_sz ) { new_sz = maxi( new_sz, TMP_LEN_MIN ); tmp2 = realloc( tmp2, new_sz ); if( !tmp2 ) { DIE_MEM(); } tmp2_len = new_sz; } return str2wcs_internal( in, tmp2 ); }