diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2014-02-10 17:25:57 +0100 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2014-02-10 17:28:00 +0100 |
commit | b122153747bcfffb2496dd383c7d3932e9ddc01a (patch) | |
tree | 63ae2ddf458013745a05f69d7d4f995bd40a1aae | |
parent | 0abba70e51cc8666b58f888f8429d11761038873 (diff) | |
download | gstreamer-plugins-bad-b122153747bcfffb2496dd383c7d3932e9ddc01a.tar.gz |
hlsdemux: Use locale-independent int/float parsing functions from GLib
-rw-r--r-- | ext/hls/m3u8.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/ext/hls/m3u8.c b/ext/hls/m3u8.c index 63372239f..8043ca1c5 100644 --- a/ext/hls/m3u8.c +++ b/ext/hls/m3u8.c @@ -110,20 +110,20 @@ static gboolean int_from_string (gchar * ptr, gchar ** endptr, gint * val) { gchar *end; - glong ret; + gint64 ret; g_return_val_if_fail (ptr != NULL, FALSE); g_return_val_if_fail (val != NULL, FALSE); errno = 0; - ret = strtol (ptr, &end, 10); - if ((errno == ERANGE && (ret == LONG_MAX || ret == LONG_MIN)) + ret = g_ascii_strtoll (ptr, &end, 10); + if ((errno == ERANGE && (ret == G_MAXINT64 || ret == G_MININT64)) || (errno != 0 && ret == 0)) { GST_WARNING ("%s", g_strerror (errno)); return FALSE; } - if (ret > G_MAXINT) { + if (ret > G_MAXINT || ret < G_MININT) { GST_WARNING ("%s", g_strerror (ERANGE)); return FALSE; } @@ -146,7 +146,7 @@ double_from_string (gchar * ptr, gchar ** endptr, gdouble * val) g_return_val_if_fail (val != NULL, FALSE); errno = 0; - ret = strtod (ptr, &end); + ret = g_ascii_strtod (ptr, &end); if ((errno == ERANGE && (ret == HUGE_VAL || ret == -HUGE_VAL)) || (errno != 0 && ret == 0)) { GST_WARNING ("%s", g_strerror (errno)); |