Commit 711b342d authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

- Fix memleak when not using Mac OS

- Error handling clean up
parent f22bfe80
...@@ -154,7 +154,7 @@ static int OpenDecoder( vlc_object_t *p_this ) ...@@ -154,7 +154,7 @@ static int OpenDecoder( vlc_object_t *p_this )
(decoder_sys_t *)malloc(sizeof(decoder_sys_t)) ) == NULL ) (decoder_sys_t *)malloc(sizeof(decoder_sys_t)) ) == NULL )
{ {
msg_Err( p_dec, "out of memory" ); msg_Err( p_dec, "out of memory" );
return VLC_EGENERIC; return VLC_ENOMEM;
} }
/* init of p_sys */ /* init of p_sys */
...@@ -180,13 +180,19 @@ static int OpenDecoder( vlc_object_t *p_this ) ...@@ -180,13 +180,19 @@ static int OpenDecoder( vlc_object_t *p_this )
var_Get( p_dec, "subsdec-encoding", &val ); var_Get( p_dec, "subsdec-encoding", &val );
if( !strcmp( val.psz_string, DEFAULT_NAME ) ) if( !strcmp( val.psz_string, DEFAULT_NAME ) )
{ {
char *psz_charset =(char*)malloc( 100 ); char *psz_charset;
#ifdef __APPLE__ #ifdef __APPLE__
/* Most subtitles are not in UTF-8, which is the default on Mac OS X */ /* Most subtitles are not in UTF-8, which is the default on Mac OS X */
sprintf( psz_charset, "ISO-8859-1" ); psz_charset = strdup( "ISO-8859-1" );
#else #else
vlc_current_charset( &psz_charset ); vlc_current_charset( &psz_charset );
#endif #endif
if( psz_charset == NULL )
{
free( p_sys );
return VLC_ENOMEM;
}
p_sys->iconv_handle = vlc_iconv_open( "UTF-8", psz_charset ); p_sys->iconv_handle = vlc_iconv_open( "UTF-8", psz_charset );
msg_Dbg( p_dec, "using default character encoding: %s", psz_charset ); msg_Dbg( p_dec, "using default character encoding: %s", psz_charset );
free( psz_charset ); free( psz_charset );
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment