]> granicus.if.org Git - libass/commitdiff
Our enca code uses strdup() on the input encoding name, as we don't modify it we...
authoriive <iive@b3059339-0415-0410-9bf9-f77b7e298cf2>
Sun, 28 Oct 2007 14:26:05 +0000 (14:26 +0000)
committeriive <iive@b3059339-0415-0410-9bf9-f77b7e298cf2>
Sun, 28 Oct 2007 14:26:05 +0000 (14:26 +0000)
Uses less memory, code is simpler and faster.
Fixes memory leak (noticed by ulion).

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24879 b3059339-0415-0410-9bf9-f77b7e298cf2

libass/ass.c

index e18a540a0dae11f3ff79d2329dd4f6efb76687aa..de0dff8fe59980a21a8405211e95380a44e87a42 100644 (file)
@@ -804,7 +804,7 @@ static char* sub_recode(char* data, size_t size, char* codepage)
        assert(codepage);
 
        {
-               char* cp_tmp = codepage ? strdup(codepage) : 0;
+               const char* cp_tmp = codepage;
 #ifdef HAVE_ENCA
                char enca_lang[3], enca_fallback[100];
                if (sscanf(codepage, "enca:%2s:%99s", enca_lang, enca_fallback) == 2
@@ -816,9 +816,6 @@ static char* sub_recode(char* data, size_t size, char* codepage)
                        mp_msg(MSGT_ASS,MSGL_V,"LIBSUB: opened iconv descriptor.\n");
                } else
                        mp_msg(MSGT_ASS,MSGL_ERR,MSGTR_LIBASS_ErrorOpeningIconvDescriptor);
-#ifdef HAVE_ENCA
-               if (cp_tmp) free(cp_tmp);
-#endif
        }
 
        {