diff options
Diffstat (limited to 'cpp/src/qpid/console/Schema.cpp')
| -rw-r--r-- | cpp/src/qpid/console/Schema.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/cpp/src/qpid/console/Schema.cpp b/cpp/src/qpid/console/Schema.cpp index 9b4312d11f..a248b2d09a 100644 --- a/cpp/src/qpid/console/Schema.cpp +++ b/cpp/src/qpid/console/Schema.cpp @@ -119,9 +119,18 @@ SchemaClass::SchemaClass(const uint8_t _kind, const ClassKey& _key, framing::Buf kind(_kind), key(_key) { if (kind == KIND_TABLE) { - uint16_t propCount = buffer.getShort(); - uint16_t statCount = buffer.getShort(); - uint16_t methodCount = buffer.getShort(); + uint8_t hasSupertype = buffer.getOctet(); + uint16_t propCount = buffer.getShort(); + uint16_t statCount = buffer.getShort(); + uint16_t methodCount = buffer.getShort(); + + if (hasSupertype) { + string unused; + buffer.getShortString(unused); + buffer.getShortString(unused); + buffer.getLongLong(); + buffer.getLongLong(); + } for (uint16_t idx = 0; idx < propCount; idx++) properties.push_back(new SchemaProperty(buffer)); |
