- vlc_iconv_t iconv_handle;
- size_t i_in = strlen( p_str );
- size_t i_out = i_in * 4;
- char *psz_out, *psz_tmp;
-
- psz_out = psz_tmp = malloc( i_out + 1 );
- iconv_handle = vlc_iconv_open( "UTF-16LE", "UTF-8" );
- vlc_iconv( iconv_handle, &p_str, &i_in, &psz_tmp, &i_out );
- vlc_iconv_close( iconv_handle );
- psz_tmp[0] = '\0';
- psz_tmp[1] = '\0';
-
- for( i = 0; ; i += 2 )
- {
- uint16_t v = GetWLE( &psz_out[i] );
- var_buffer_add16( p_buf, v );
- if( !v )
- break;
- }
- free( psz_out );