summaryrefslogtreecommitdiffstats
path: root/libass/ass_parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'libass/ass_parse.c')
-rw-r--r--libass/ass_parse.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/libass/ass_parse.c b/libass/ass_parse.c
index 712cd96..f2f73e5 100644
--- a/libass/ass_parse.c
+++ b/libass/ass_parse.c
@@ -625,9 +625,8 @@ char *parse_tag(ASS_Renderer *render_priv, char *p, double pwr)
double k;
skip('(');
for (cnt = 0; cnt < 3; ++cnt) {
- if (*p == '\\')
+ if (!mystrtod(&p, &v[cnt]))
break;
- mystrtod(&p, &v[cnt]);
skip(',');
}
if (cnt == 3) {
@@ -662,7 +661,7 @@ char *parse_tag(ASS_Renderer *render_priv, char *p, double pwr)
assert(delta_t != 0.);
k = pow(((double) (t - t1)) / delta_t, v3);
}
- while (*p == '\\')
+ while (*p != ')' && *p != '}' && *p != '\0')
p = parse_tag(render_priv, p, k); // maybe k*pwr ? no, specs forbid nested \t's
skip_to(')'); // in case there is some unknown tag or a comment
skipopt(')');