summaryrefslogtreecommitdiffstats
path: root/libass/ass_fontselect.c
diff options
context:
space:
mode:
Diffstat (limited to 'libass/ass_fontselect.c')
-rw-r--r--libass/ass_fontselect.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/libass/ass_fontselect.c b/libass/ass_fontselect.c
index 95a4038..3fcd8c7 100644
--- a/libass/ass_fontselect.c
+++ b/libass/ass_fontselect.c
@@ -455,11 +455,14 @@ static char *select_font(ASS_FontSelector *priv, ASS_Library *library,
int idx = -1;
ASS_FontInfo req;
char *req_fullname;
- char *tfamily = trim_space(strdup(family));
+ char *family_trim = strdup_trimmed(family);
+
+ if (family_trim == NULL)
+ return NULL;
ASS_FontProvider *default_provider = priv->default_provider;
if (default_provider && default_provider->funcs.match_fonts)
- default_provider->funcs.match_fonts(library, default_provider, tfamily);
+ default_provider->funcs.match_fonts(library, default_provider, family_trim);
ASS_FontInfo *font_infos = priv->font_infos;
@@ -474,7 +477,7 @@ static char *select_font(ASS_FontSelector *priv, ASS_Library *library,
req.width = 100;
req.n_fullname = 1;
req.fullnames = &req_fullname;
- req.fullnames[0] = tfamily;
+ req.fullnames[0] = family_trim;
// match font
unsigned score_min = UINT_MAX;
@@ -494,8 +497,8 @@ static char *select_font(ASS_FontSelector *priv, ASS_Library *library,
}
}
- // free font request
- free(req.fullnames[0]);
+ // free font name
+ free(family_trim);
// found anything?
if (idx < 0) {