From 1ae7149c080752e13abb4e0c67f117216966c742 Mon Sep 17 00:00:00 2001 From: reimar Date: Sun, 2 Nov 2008 09:57:22 +0000 Subject: Fallback to non-fontconfig behaviour when fontconfig initialization fails. Also fixes a memleak in that case, bug #1313. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27875 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libass/ass_fontconfig.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'libass') diff --git a/libass/ass_fontconfig.c b/libass/ass_fontconfig.c index fa15087652..5edbdecaa2 100644 --- a/libass/ass_fontconfig.c +++ b/libass/ass_fontconfig.c @@ -407,10 +407,7 @@ fc_instance_t* fontconfig_init(ass_library_t* library, FT_Library ftlibrary, con if (!fc) { mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_FontconfigDisabledDefaultFontWillBeUsed); - priv->config = NULL; - priv->path_default = strdup(path); - priv->index_default = 0; - return priv; + goto exit; } rc = FcInit(); @@ -419,7 +416,7 @@ fc_instance_t* fontconfig_init(ass_library_t* library, FT_Library ftlibrary, con priv->config = FcConfigGetCurrent(); if (!priv->config) { mp_msg(MSGT_ASS, MSGL_FATAL, MSGTR_LIBASS_FcInitLoadConfigAndFontsFailed); - return 0; + goto exit; } for (i = 0; i < library->num_fontdata; ++i) @@ -468,6 +465,7 @@ fc_instance_t* fontconfig_init(ass_library_t* library, FT_Library ftlibrary, con } priv->family_default = family ? strdup(family) : 0; +exit: priv->path_default = path ? strdup(path) : 0; priv->index_default = 0; -- cgit v1.2.3 From c1c59ce8cdbc424a292dcb98b7adea6d4b5b9e0c Mon Sep 17 00:00:00 2001 From: reimar Date: Sun, 2 Nov 2008 11:48:20 +0000 Subject: Consistently use NULL for pointers instead of 0. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27876 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libass/ass_fontconfig.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'libass') diff --git a/libass/ass_fontconfig.c b/libass/ass_fontconfig.c index 5edbdecaa2..9a7bddecc4 100644 --- a/libass/ass_fontconfig.c +++ b/libass/ass_fontconfig.c @@ -77,14 +77,14 @@ static char* _select_font(fc_instance_t* priv, const char* family, unsigned bold { FcBool rc; FcResult result; - FcPattern *pat = 0, *rpat = 0; + FcPattern *pat = NULL, *rpat = NULL; int r_index, r_slant, r_weight; FcChar8 *r_family, *r_style, *r_file, *r_fullname; FcBool r_outline, r_embolden; FcCharSet* r_charset; - FcFontSet* fset = 0; + FcFontSet* fset = NULL; int curf; - char* retval = 0; + char* retval = NULL; int family_cnt; *index = 0; @@ -318,7 +318,7 @@ static void process_fontdata(fc_instance_t* priv, ass_library_t* library, FT_Lib char* fname; const char* fonts_dir = library->fonts_dir; char buf[1000]; - FILE* fp = 0; + FILE* fp = NULL; if (!fonts_dir) return; @@ -464,9 +464,9 @@ fc_instance_t* fontconfig_init(ass_library_t* library, FT_Library ftlibrary, con } } - priv->family_default = family ? strdup(family) : 0; + priv->family_default = family ? strdup(family) : NULL; exit: - priv->path_default = path ? strdup(path) : 0; + priv->path_default = path ? strdup(path) : NULL; priv->index_default = 0; return priv; -- cgit v1.2.3