#endif
#include <limits.h>
-#include <errno.h>
#include <vlc_common.h>
#include <vlc_plugin.h>
#include <assert.h>
+#include <errno.h>
#include <gcrypt.h>
#include <vlc_threads.h>
return VLC_EGENERIC;
int value;
+ char *endptr;
if (hls->version < 3)
{
- value = strtol(token, NULL, 10);
- if (errno == ERANGE)
+ errno = 0;
+ value = strtol(token, &endptr, 10);
+ if (token == endptr || errno == ERANGE )
{
*duration = -1;
return VLC_EGENERIC;
}
else
{
- double d = strtod(token, (char **) NULL);
- if (errno == ERANGE)
+ errno = 0;
+ double d = strtof(token, &endptr);
+ if (token == endptr || errno == ERANGE )
{
*duration = -1;
return VLC_EGENERIC;
value = ((int)d) + 1;
else
value = ((int)d);
+ *duration = value;
}
/* Ignore the rest of the line */