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 <andrew.knight@digia.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
This commit is contained in:
parent
988785c857
commit
795974e724
@ -75,7 +75,7 @@ bool parseOption(const char *str, Option *option)
|
|||||||
|
|
||||||
struct WaylandEnumEntry {
|
struct WaylandEnumEntry {
|
||||||
QByteArray name;
|
QByteArray name;
|
||||||
int value;
|
QByteArray value;
|
||||||
QByteArray summary;
|
QByteArray summary;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -157,7 +157,7 @@ WaylandEnum readEnum(QXmlStreamReader &xml)
|
|||||||
if (xml.name() == "entry") {
|
if (xml.name() == "entry") {
|
||||||
WaylandEnumEntry entry;
|
WaylandEnumEntry entry;
|
||||||
entry.name = byteArrayValue(xml, "name");
|
entry.name = byteArrayValue(xml, "name");
|
||||||
entry.value = intValue(xml, "value");
|
entry.value = byteArrayValue(xml, "value");
|
||||||
entry.summary = byteArrayValue(xml, "summary");
|
entry.summary = byteArrayValue(xml, "summary");
|
||||||
result.entries << entry;
|
result.entries << entry;
|
||||||
}
|
}
|
||||||
@ -304,7 +304,7 @@ void printEnums(const QList<WaylandEnum> &enums)
|
|||||||
printf(" enum %s {\n", e.name.constData());
|
printf(" enum %s {\n", e.name.constData());
|
||||||
for (int i = 0; i < e.entries.size(); ++i) {
|
for (int i = 0; i < e.entries.size(); ++i) {
|
||||||
const WaylandEnumEntry &entry = e.entries.at(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)
|
if (i < e.entries.size() - 1)
|
||||||
printf(",");
|
printf(",");
|
||||||
if (!entry.summary.isNull())
|
if (!entry.summary.isNull())
|
||||||
|
Loading…
x
Reference in New Issue
Block a user