{
while (*s) {
if (!strchr
- (";:@&=aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ0123456789$-_.+!*'(),%",
+ (";:@&=aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ0123456789$-_.+!*'(),%/",
*s))
return FALSE;
if (*s == '%') {
continue;
if (!g_strcmp0 (token, "RepresentationID")) {
- if (!gst_mpdparser_validate_rfc1738_url (id)) {
- GST_WARNING ("String '%s' has characters invalid in an RFC 1738 URL",
- id);
- goto invalid_format;
- }
+ if (!gst_mpdparser_validate_rfc1738_url (id))
+ goto invalid_representation_id;
+
tokens[i] = g_strdup_printf ("%s", id);
g_free (token);
} else if (!strncmp (token, "Number", 6)) {
return NULL;
}
+invalid_representation_id:
+ {
+ GST_ERROR
+ ("Representation ID string '%s' has characters invalid in an RFC 1738 URL",
+ id);
+
+ g_strfreev (tokens);
+
+ return NULL;
+ }
}
guint
GST_START_TEST (dash_mpdparser_rfc1738_strings)
{
- fail_unless (gst_mpdparser_validate_rfc1738_url ("/") == FALSE);
+ fail_unless (gst_mpdparser_validate_rfc1738_url ("/") == TRUE);
fail_unless (gst_mpdparser_validate_rfc1738_url (" ") == FALSE);
fail_unless (gst_mpdparser_validate_rfc1738_url ("aaaaaaaa ") == FALSE);
(";:@&=aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ0123456789$-_.+!*'(),%AA")
== TRUE);
fail_unless (gst_mpdparser_validate_rfc1738_url
+ (";:@&=aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ0123456789$-_.+!*'(),/%AA")
+ == TRUE);
+ fail_unless (gst_mpdparser_validate_rfc1738_url
(";:@&=aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ0123456789$-_.+!*'(),% ")
== FALSE);
fail_unless (gst_mpdparser_validate_rfc1738_url ("%AA") == TRUE);