diff options
Diffstat (limited to 'libass/ass_utils.c')
-rw-r--r-- | libass/ass_utils.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/libass/ass_utils.c b/libass/ass_utils.c index d48685c631..25e4d4fe7b 100644 --- a/libass/ass_utils.c +++ b/libass/ass_utils.c @@ -30,10 +30,23 @@ #include "mputils.h" #include "ass_utils.h" -int mystrtoi(char** p, int base, int* res) +int mystrtoi(char** p, int* res) { + // NOTE: base argument is ignored, but not used in libass anyway + double temp_res; char* start = *p; - *res = strtol(*p, p, base); + temp_res = strtod(*p, p); + *res = (int) (temp_res + 0.5); + if (*p != start) return 1; + else return 0; +} + +int mystrtoll(char** p, long long* res) +{ + double temp_res; + char* start = *p; + temp_res = strtod(*p, p); + *res = (long long) (temp_res + 0.5); if (*p != start) return 1; else return 0; } |