On Wed, Jan 11, 2017 at 07:14:45AM -0800, Yong Bakos wrote: > Hi Peter, > > > On Jan 9, 2017, at 7:27 PM, Peter Hutterer <[email protected]> wrote: > > > > This was already in the DTD but not supported by the scanner. > > > > The request/event parsing have an additional check that "since" cannot be < > > interface version. This is missing here. For requests/events we can rely on > > the xml containing the required "since" attributes already. enums don't have > > those, so our default version of 1 for an enum introduced in interface > > version > > > 1 would trigger warnings about version running backards. > > "backwards." :) > > Doesn't this affect the xml output and therefore fail the scanner tests? > If so, should be accompanied w/ a commit that updates the scanner test xml.
yep, sorry. I'll run make check for patchsets from now on :) new series is on the list, thanks. Cheers, Peter > > yong > > > > > > This doesn't matter for the output, it's just warnings, hence why they're > > skipped here. > > > > Signed-off-by: Peter Hutterer <[email protected]> > > --- > > src/scanner.c | 16 ++++++++++++++++ > > 1 file changed, 16 insertions(+) > > > > diff --git a/src/scanner.c b/src/scanner.c > > index 5d66fa4..0fab391 100644 > > --- a/src/scanner.c > > +++ b/src/scanner.c > > @@ -220,6 +220,7 @@ struct entry { > > char *uppercase_name; > > char *value; > > char *summary; > > + int since; > > struct wl_list link; > > }; > > > > @@ -797,6 +798,8 @@ start_element(void *data, const char *element_name, > > const char **atts) > > fail(&ctx->loc, "no entry name given"); > > > > entry = create_entry(name, value); > > + version = version_from_since(ctx, since); > > + entry->since = version; > > > > if (summary) > > entry->summary = xstrdup(summary); > > @@ -1288,6 +1291,19 @@ emit_enumerations(struct interface *interface) > > entry->uppercase_name, entry->value); > > } > > printf("};\n"); > > + > > + wl_list_for_each(entry, &e->entry_list, link) { > > + if (entry->since == 1) > > + continue; > > + > > + printf("/**\n * @ingroup iface_%s\n */\n", > > interface->name); > > + printf("#define %s_%s_%s_SINCE_VERSION %d\n", > > + interface->uppercase_name, > > + e->uppercase_name, entry->uppercase_name, > > + entry->since); > > + > > + } > > + > > printf("#endif /* %s_%s_ENUM */\n\n", > > interface->uppercase_name, e->uppercase_name); > > } > > -- > > 2.9.3 > > > > _______________________________________________ > > wayland-devel mailing list > > [email protected] > > https://lists.freedesktop.org/mailman/listinfo/wayland-devel > > _______________________________________________ wayland-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/wayland-devel
