-}
-
-/*****************************************************************************
- * FromLocale: converts a locale string to UTF-8
- *****************************************************************************/
-char *FromLocale( const char *locale )
-{
- if( locale == NULL )
- return NULL;
-
- if( libvlc.from_locale != (vlc_iconv_t)(-1) )
- {
- char *iptr = (char *)locale, *output, *optr;
- size_t inb, outb;
-
- /*
- * We are not allowed to modify the locale pointer, even if we cast it
- * to non-const.
- */
- inb = strlen( locale );
- outb = inb * 6 + 1;
-
- /* FIXME: I'm not sure about the value for the multiplication
- * (for western people, multiplication by 3 (Latin9) is sufficient) */
- optr = output = calloc( outb , 1);
-
- vlc_mutex_lock( &libvlc.from_locale_lock );
- vlc_iconv( libvlc.from_locale, NULL, NULL, NULL, NULL );
-
- while( vlc_iconv( libvlc.from_locale, &iptr, &inb, &optr, &outb )
- == (size_t)-1 )
- {
- *optr = '?';
- optr++;
- iptr++;
- vlc_iconv( libvlc.from_locale, NULL, NULL, NULL, NULL );
- }
- vlc_mutex_unlock( &libvlc.from_locale_lock );
-
- return realloc( output, strlen( output ) + 1 );