From 795974e724805046c0f7b5ad0ba0b9a54879e55d Mon Sep 17 00:00:00 2001 From: Jan Arne Petersen Date: Mon, 26 Aug 2013 20:56:44 +0200 Subject: [PATCH] Fix scanner to support also hex values in enums Read the value of an enum entry as a QByteArray. There is not any need to convert it into an int in between. Change-Id: Ie75d30dc22f7e81ddcff64990e3c6f030f31ef79 Reviewed-by: Andrew Knight Reviewed-by: Andy Nichols --- src/tools/qtwaylandscanner/qtwaylandscanner.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/tools/qtwaylandscanner/qtwaylandscanner.cpp b/src/tools/qtwaylandscanner/qtwaylandscanner.cpp index 5de7cb11d1d..7264950ec24 100644 --- a/src/tools/qtwaylandscanner/qtwaylandscanner.cpp +++ b/src/tools/qtwaylandscanner/qtwaylandscanner.cpp @@ -75,7 +75,7 @@ bool parseOption(const char *str, Option *option) struct WaylandEnumEntry { QByteArray name; - int value; + QByteArray value; QByteArray summary; }; @@ -157,7 +157,7 @@ WaylandEnum readEnum(QXmlStreamReader &xml) if (xml.name() == "entry") { WaylandEnumEntry entry; entry.name = byteArrayValue(xml, "name"); - entry.value = intValue(xml, "value"); + entry.value = byteArrayValue(xml, "value"); entry.summary = byteArrayValue(xml, "summary"); result.entries << entry; } @@ -304,7 +304,7 @@ void printEnums(const QList &enums) printf(" enum %s {\n", e.name.constData()); for (int i = 0; i < e.entries.size(); ++i) { const WaylandEnumEntry &entry = e.entries.at(i); - printf(" %s_%s = %d", e.name.constData(), entry.name.constData(), entry.value); + printf(" %s_%s = %s", e.name.constData(), entry.name.constData(), entry.value.constData()); if (i < e.entries.size() - 1) printf(","); if (!entry.summary.isNull())