summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/tests/FieldTableTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/cpp/src/tests/FieldTableTest.cpp')
-rw-r--r--qpid/cpp/src/tests/FieldTableTest.cpp20
1 files changed, 12 insertions, 8 deletions
diff --git a/qpid/cpp/src/tests/FieldTableTest.cpp b/qpid/cpp/src/tests/FieldTableTest.cpp
index dcab96fb08..deb3655619 100644
--- a/qpid/cpp/src/tests/FieldTableTest.cpp
+++ b/qpid/cpp/src/tests/FieldTableTest.cpp
@@ -39,11 +39,13 @@ class FieldTableTest : public CppUnit::TestCase
ft.setString("A", "BCDE");
CPPUNIT_ASSERT_EQUAL(std::string("BCDE"), ft.getString("A"));
- Buffer buffer(100);
- buffer.putFieldTable(ft);
- buffer.flip();
+ char buff[100];
+ Buffer wbuffer(buff, 100);
+ wbuffer.putFieldTable(ft);
+
+ Buffer rbuffer(buff, 100);
FieldTable ft2;
- buffer.getFieldTable(ft2);
+ rbuffer.getFieldTable(ft2);
CPPUNIT_ASSERT_EQUAL(std::string("BCDE"), ft2.getString("A"));
}
@@ -68,10 +70,12 @@ class FieldTableTest : public CppUnit::TestCase
FieldTable c;
c = a;
- Buffer buffer(c.size());
- buffer.putFieldTable(c);
- buffer.flip();
- buffer.getFieldTable(d);
+ char* buff = static_cast<char*>(::alloca(c.size()));
+ Buffer wbuffer(buff, c.size());
+ wbuffer.putFieldTable(c);
+
+ Buffer rbuffer(buff, c.size());
+ rbuffer.getFieldTable(d);
CPPUNIT_ASSERT_EQUAL(c, d);
CPPUNIT_ASSERT_EQUAL(std::string("CCCC"), c.getString("A"));
CPPUNIT_ASSERT_EQUAL(1234, c.getInt("B"));