31#if defined (HAVE_CONFIG_H)
45 size_t srclen,
size_t *lengthp)
47 return u8_conv_from_encoding (fromcode, iconveh_question_mark,
48 src, srclen, NULL, NULL, lengthp);
53 size_t srclen,
size_t *lengthp)
55 return u8_conv_to_encoding (tocode, iconveh_question_mark,
56 src, srclen, NULL, NULL, lengthp);
61 size_t srclen,
size_t *lengthp)
63 return u8_conv_to_encoding (tocode, iconveh_error,
64 src, srclen, NULL, NULL, lengthp);
69 size_t srclen,
size_t *lengthp)
71 return u32_conv_to_encoding (tocode, iconveh_error,
72 src, srclen, NULL, NULL, lengthp);
81 size_t srclen = wcslen (wc) *
sizeof (wchar_t);
82 const char *src = (
const char *) wc;
85 uint8_t *mbchar = u8_conv_from_encoding (
"wchar_t", iconveh_question_mark,
86 src, srclen, NULL, NULL, &length);
89 char *retval =
malloc (length + 1);
92 memcpy (retval, mbchar, length);
93 free ((
void *) mbchar);
97 free ((
void *) mbchar);
108 size_t srclen =
strlen (u8);
109 const uint8_t *src = (
const uint8_t *) u8;
113 char *wchar = u8_conv_to_encoding (
"wchar_t", iconveh_question_mark,
114 src, srclen, NULL, NULL, &length);
116 wchar_t *retval =
malloc (length + 1 *
sizeof (
wchar_t));
119 memcpy (retval, wchar, length);
120 free ((
void *) wchar);
121 retval[length /
sizeof (wchar_t)] = 0;
125 free ((
void *) wchar);
T::size_type strlen(const typename T::value_type *str)
char * octave_u8_conv_to_encoding_strict(const char *tocode, const uint8_t *src, size_t srclen, size_t *lengthp)
wchar_t * u8_to_wchar(const char *u8)
char * octave_u8_conv_to_encoding(const char *tocode, const uint8_t *src, size_t srclen, size_t *lengthp)
uint8_t * octave_u8_conv_from_encoding(const char *fromcode, const char *src, size_t srclen, size_t *lengthp)
char * u8_from_wchar(const wchar_t *wc)
char * octave_u32_conv_to_encoding_strict(const char *tocode, const uint32_t *src, size_t srclen, size_t *lengthp)