From bdc0432ec6e67c397b6007198b0ba119e1628655 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Fri, 17 Dec 2004 02:52:24 +0000 Subject: [PATCH] gst/gstvalue.c: revert last patch, only dom a g_utf8_validate now before accepting the string - caps parsing strips "... Original commit message from CVS: * gst/gstvalue.c: (gst_value_deserialize_string): revert last patch, only dom a g_utf8_validate now before accepting the string - caps parsing strips " from strings so we can't rely on them * testsuite/caps/value_serialize.c: (test_string_deserialization): disable a test that tested the above and comment it --- ChangeLog | 9 +++++++++ gst/gstvalue.c | 6 +----- tests/old/testsuite/caps/value_serialize.c | 3 +++ testsuite/caps/value_serialize.c | 3 +++ 4 files changed, 16 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 31dad5aaf7..74e4c31e74 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2004-12-17 Benjamin Otte + + * gst/gstvalue.c: (gst_value_deserialize_string): + revert last patch, only dom a g_utf8_validate now before accepting + the string - caps parsing strips " from strings so we can't rely on + them + * testsuite/caps/value_serialize.c: (test_string_deserialization): + disable a test that tested the above and comment it + 2004-12-16 David Schleef * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See diff --git a/gst/gstvalue.c b/gst/gstvalue.c index 1f8549c0f8..526110fd26 100644 --- a/gst/gstvalue.c +++ b/gst/gstvalue.c @@ -1332,11 +1332,7 @@ static gboolean gst_value_deserialize_string (GValue * dest, const char *s) { if (*s != '"') { - const gchar *t = s; - - while (GST_ASCII_IS_STRING (*t)) - t++; - if (!*t == '\0') + if (!g_utf8_validate (s, -1, NULL)) return FALSE; g_value_set_string (dest, s); return TRUE; diff --git a/tests/old/testsuite/caps/value_serialize.c b/tests/old/testsuite/caps/value_serialize.c index b6980045ee..c621568c73 100644 --- a/tests/old/testsuite/caps/value_serialize.c +++ b/tests/old/testsuite/caps/value_serialize.c @@ -76,8 +76,11 @@ test_string_deserialization (void) "\"\\0\"", NULL}, /* unfinished escaped character */ { "\" \"", NULL}, /* spaces must be escaped */ +#if 0 + /* FIXME 0.9: this test should fail, but it doesn't */ { "tüüt", NULL} /* string with special chars must be escaped */ +#endif }; guint i; GValue v = { 0, }; diff --git a/testsuite/caps/value_serialize.c b/testsuite/caps/value_serialize.c index b6980045ee..c621568c73 100644 --- a/testsuite/caps/value_serialize.c +++ b/testsuite/caps/value_serialize.c @@ -76,8 +76,11 @@ test_string_deserialization (void) "\"\\0\"", NULL}, /* unfinished escaped character */ { "\" \"", NULL}, /* spaces must be escaped */ +#if 0 + /* FIXME 0.9: this test should fail, but it doesn't */ { "tüüt", NULL} /* string with special chars must be escaped */ +#endif }; guint i; GValue v = { 0, };