Be more forgiving when parsing introspection xml
authorMatthias Clasen <mclasen@redhat.com>
Sat, 19 Feb 2011 21:27:51 +0000 (16:27 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Sat, 19 Feb 2011 21:27:51 +0000 (16:27 -0500)
Accept (and silently ignore) version attributes on <interface>
and <method> elements - these occur in the wild, and ignoring
them does not cost us anything.

gio/gdbusintrospection.c

index 348f514..5d9b6bd 100644 (file)
@@ -1320,6 +1320,8 @@ parser_start_element (GMarkupParseContext  *context,
                                         attribute_values,
                                         error,
                                         G_MARKUP_COLLECT_STRING, "name", &name,
+                                        /* seen in the wild */
+                                        G_MARKUP_COLLECT_STRING | G_MARKUP_COLLECT_OPTIONAL, "version", NULL,
                                         G_MARKUP_COLLECT_INVALID))
         goto out;
 
@@ -1349,6 +1351,8 @@ parser_start_element (GMarkupParseContext  *context,
                                         attribute_values,
                                         error,
                                         G_MARKUP_COLLECT_STRING, "name", &name,
+                                        /* seen in the wild */
+                                        G_MARKUP_COLLECT_STRING | G_MARKUP_COLLECT_OPTIONAL, "version", NULL,
                                         G_MARKUP_COLLECT_INVALID))
         goto out;