#include "wchar.h"
SCM
-scm_from_wide_char_string (const wchar_t* wtext)
+scm_from_wide_char_string (const wchar_t* text)
{
- size_t nbytes = wcslen (wtext) + 1;
- char* ctext = (char*)malloc (nbytes);
- wcstombs (ctext, wtext, nbytes);
- return scm_from_utf8_string (ctext);
+ return scm_from_utf32_string ((const scm_t_wchar*) text);
}
const wchar_t*
scm_to_wide_char_string (SCM text)
{
- char* ctext = scm_to_utf8_stringn (text, NULL);
- wchar_t* wtext = (wchar_t*)malloc ((strlen (ctext) + 1) * sizeof (wchar_t));
- mbstowcs (wtext, ctext, strlen (ctext) + 1);
- return wtext;
+ return (const wchar_t*) scm_to_utf32_string (text);
}