summaryrefslogtreecommitdiffstats
path: root/libass/ass_utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'libass/ass_utils.c')
-rw-r--r--libass/ass_utils.c17
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;
}