diff options
author | Frédéric Wang <fred.wang@free.fr> | 2015-02-12 14:50:15 +0000 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2015-02-12 14:50:15 +0000 |
commit | d7dd0825747abbbda22e8466dd6ba78fa85c0dbe (patch) | |
tree | c355cf687d2a1071f2941aa88304b908f58ef00e | |
parent | ae0b12b109310bc5c6304a0afcd606052263eda7 (diff) |
fdsrc: use g_ascii_strtoull() to convert size string in uri
sscanf() doesn't handle G_GUINT64_FORMAT well on mingw64 it
appears, leading to compiler warnings.
https://bugzilla.gnome.org/show_bug.cgi?id=744034
-rw-r--r-- | plugins/elements/gstfdsrc.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/plugins/elements/gstfdsrc.c b/plugins/elements/gstfdsrc.c index 82b834430..805832855 100644 --- a/plugins/elements/gstfdsrc.c +++ b/plugins/elements/gstfdsrc.c @@ -645,12 +645,14 @@ gst_fd_src_uri_set_uri (GstURIHandler * handler, const gchar * uri, } if ((q = g_strstr_len (uri, -1, "?"))) { - gchar *sp; + gchar *sp, *end = NULL; GST_INFO_OBJECT (src, "found ?"); if ((sp = g_strstr_len (q, -1, "size="))) { - if (sscanf (sp, "size=%" G_GUINT64_FORMAT, &size) != 1) { + sp += strlen ("size="); + size = g_ascii_strtoull (sp, &end, 10); + if ((size == 0 && errno == EINVAL) || size == G_MAXUINT64 || end == sp) { GST_INFO_OBJECT (src, "parsing size failed"); size = -1; } else { |