summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/framing/FieldValue.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/framing/FieldValue.cpp')
-rw-r--r--cpp/src/qpid/framing/FieldValue.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/cpp/src/qpid/framing/FieldValue.cpp b/cpp/src/qpid/framing/FieldValue.cpp
index 5526c9cb72..961b6017cd 100644
--- a/cpp/src/qpid/framing/FieldValue.cpp
+++ b/cpp/src/qpid/framing/FieldValue.cpp
@@ -25,9 +25,9 @@
namespace qpid {
namespace framing {
-void FieldValue::decode(Buffer& buffer)
+void FieldValue::setType(uint8_t type)
{
- typeOctet = buffer.getOctet();
+ typeOctet = type;
uint8_t lenType = typeOctet >> 4;
switch(lenType){
@@ -76,6 +76,11 @@ void FieldValue::decode(Buffer& buffer)
default:
throw SyntaxErrorException(QPID_MSG("Unknown field table value type: " << (int)typeOctet));
}
+}
+
+void FieldValue::decode(Buffer& buffer)
+{
+ setType(buffer.getOctet());
data->decode(buffer);
}