tests/check/gst/gststructure.c (GST_START_TEST): Add a check for the new warning.

Original commit message from CVS:

2008-03-03  Andy Wingo  <wingo@pobox.com>

* tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
the new warning.

* gst/gststructure.c (gst_structure_from_string): Warn if
structure_from_string didn't consume the whole string, but the
caller did not provide an end pointer.
This commit is contained in:
Andy Wingo 2008-03-03 10:07:21 +00:00
parent 96aa08f008
commit 391d9dfc9e
4 changed files with 20 additions and 1 deletions

View file

@ -1,3 +1,12 @@
2008-03-03 Andy Wingo <wingo@pobox.com>
* tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
the new warning.
* gst/gststructure.c (gst_structure_from_string): Warn if
structure_from_string didn't consume the whole string, but the
caller did not provide an end pointer.
2008-03-01 Tim-Philipp Müller <tim at centricular dot net> 2008-03-01 Tim-Philipp Müller <tim at centricular dot net>
Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it> Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>

2
common

@ -1 +1 @@
Subproject commit 4fa1159996900100f3a1cd3b43d7f0f027310cdb Subproject commit 8ede243026af26e496d775b46ded7988ce883080

View file

@ -1966,6 +1966,9 @@ gst_structure_from_string (const gchar * string, gchar ** end)
if (end) if (end)
*end = (char *) string + (r - copy); *end = (char *) string + (r - copy);
else if (*r)
g_warning ("gst_structure_from_string did not consume whole string,"
" but caller did not provide end pointer (\"%s\")", string);
g_free (copy); g_free (copy);
return structure; return structure;

View file

@ -126,6 +126,13 @@ GST_START_TEST (test_from_string)
s = "***foo***, abc=(boolean)false"; s = "***foo***, abc=(boolean)false";
structure = gst_structure_from_string (s, NULL); structure = gst_structure_from_string (s, NULL);
fail_unless (structure == NULL); fail_unless (structure == NULL);
/* assert that we get a warning if the structure wasn't entirely consumed, but
* we didn't provide an end pointer */
s = "foo/bar; other random data";
ASSERT_WARNING (structure = gst_structure_from_string (s, NULL));
fail_if (structure == NULL, "Could not get structure from string %s", s);
gst_structure_free (structure);
} }
GST_END_TEST; GST_END_TEST;