summaryrefslogtreecommitdiffstats
path: root/libass/ass_utils.c
diff options
context:
space:
mode:
authorOleg Oshmyan <chortos@inbox.lv>2014-05-29 23:38:45 +0100
committerOleg Oshmyan <chortos@inbox.lv>2014-06-06 15:10:07 +0100
commit0ab014a535aa1d2e7e3f35e58887c71b541e0631 (patch)
treea0159a89a0cfd5bb1e538036fa95b13e17820d57 /libass/ass_utils.c
parent3199a876dd5da0463fd6c6c231db7c3bb223c2ef (diff)
downloadlibass-0ab014a535aa1d2e7e3f35e58887c71b541e0631.tar.bz2
libass-0ab014a535aa1d2e7e3f35e58887c71b541e0631.tar.xz
parse_tag: remove unnecessary malloc
Diffstat (limited to 'libass/ass_utils.c')
-rw-r--r--libass/ass_utils.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/libass/ass_utils.c b/libass/ass_utils.c
index c545012..778da80 100644
--- a/libass/ass_utils.c
+++ b/libass/ass_utils.c
@@ -337,19 +337,21 @@ int lookup_style(ASS_Track *track, char *name)
* \brief find style by name as in \r
* \param track track
* \param name style name
+ * \param len style name length
* \return style in track->styles
* Returns NULL if no style has the given name.
*/
-ASS_Style *lookup_style_strict(ASS_Track *track, char *name)
+ASS_Style *lookup_style_strict(ASS_Track *track, char *name, size_t len)
{
int i;
for (i = track->n_styles - 1; i >= 0; --i) {
- if (strcmp(track->styles[i].Name, name) == 0)
+ if (strncmp(track->styles[i].Name, name, len) == 0 &&
+ track->styles[i].Name[len] == '\0')
return track->styles + i;
}
ass_msg(track->library, MSGL_WARN,
- "[%p]: Warning: no style named '%s' found",
- track, name);
+ "[%p]: Warning: no style named '%.*s' found",
+ track, (int) len, name);
return NULL;
}