Simplify
[vlc.git] / modules / codec / subtitles / subsdec.c
index a1577cb..2d87535 100644 (file)
@@ -172,10 +172,10 @@ static int OpenDecoder( vlc_object_t *p_this )
 
     char *psz_charset = NULL;
 
 
     char *psz_charset = NULL;
 
+    /* First try demux-specified encoding */
     if( p_dec->fmt_in.i_codec == VLC_FOURCC('t','1','4','0') )
         psz_charset = strdup( "UTF-8" ); /* IUT T.140 is always using UTF-8 */
     else
     if( p_dec->fmt_in.i_codec == VLC_FOURCC('t','1','4','0') )
         psz_charset = strdup( "UTF-8" ); /* IUT T.140 is always using UTF-8 */
     else
-    /* First try demux-specified encoding */
     if( p_dec->fmt_in.subs.psz_encoding && *p_dec->fmt_in.subs.psz_encoding )
     {
         psz_charset = strdup (p_dec->fmt_in.subs.psz_encoding);
     if( p_dec->fmt_in.subs.psz_encoding && *p_dec->fmt_in.subs.psz_encoding )
     {
         psz_charset = strdup (p_dec->fmt_in.subs.psz_encoding);
@@ -211,20 +211,16 @@ static int OpenDecoder( vlc_object_t *p_this )
         }
     }
 
         }
     }
 
+    /* Forth, don't do character decoding, i.e. assume UTF-8 */
     if (psz_charset == NULL)
     {
         psz_charset = strdup ("UTF-8");
     if (psz_charset == NULL)
     {
         psz_charset = strdup ("UTF-8");
-        msg_Dbg (p_dec, "trying hard-coded character encoding: %s",
-                 psz_charset ? psz_charset : "error");
-    }
-
-    if (psz_charset == NULL)
-    {
-        free (p_sys);
-        return VLC_ENOMEM;
+        msg_Dbg (p_dec, "using UTF-8 character encoding" );
     }
 
     }
 
-    if (strcasecmp (psz_charset, "UTF-8") && strcasecmp (psz_charset, "utf8"))
+    if ((psz_charset != NULL)
+     && strcasecmp (psz_charset, "UTF-8")
+     && strcasecmp (psz_charset, "utf8"))
     {
         p_sys->iconv_handle = vlc_iconv_open ("UTF-8", psz_charset);
         if (p_sys->iconv_handle == (vlc_iconv_t)(-1))
     {
         p_sys->iconv_handle = vlc_iconv_open ("UTF-8", psz_charset);
         if (p_sys->iconv_handle == (vlc_iconv_t)(-1))