From 1eebbf2d35866a0d9aa12c6e6cfec56ee9c9986a Mon Sep 17 00:00:00 2001 From: Marcus Winter Date: Mon, 3 Nov 2014 13:15:02 +0100 Subject: [PATCH] mtapi_network_c: buffer push/pop operations return number of bytes pushed --- mtapi_network_c/src/embb_mtapi_network_buffer.c | 6 +++--- mtapi_network_c/test/embb_mtapi_network_test_buffer.cc | 30 ++++++++++++++++++++++-------- 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/mtapi_network_c/src/embb_mtapi_network_buffer.c b/mtapi_network_c/src/embb_mtapi_network_buffer.c index 540d081..e2ca258 100644 --- a/mtapi_network_c/src/embb_mtapi_network_buffer.c +++ b/mtapi_network_c/src/embb_mtapi_network_buffer.c @@ -45,7 +45,7 @@ int embb_mtapi_network_buffer_push_back_int16( } memcpy(that->data + that->size, &value, 2); that->size += 2; - return 1; + return 2; } int embb_mtapi_network_buffer_push_back_int32( @@ -56,7 +56,7 @@ int embb_mtapi_network_buffer_push_back_int32( } memcpy(that->data + that->size, &value, 4); that->size += 4; - return 1; + return 4; } int embb_mtapi_network_buffer_push_back_rawdata( @@ -68,7 +68,7 @@ int embb_mtapi_network_buffer_push_back_rawdata( } memcpy(that->data + that->size, rawdata, size); that->size += size; - return 1; + return size; } int embb_mtapi_network_buffer_pop_front_int8( diff --git a/mtapi_network_c/test/embb_mtapi_network_test_buffer.cc b/mtapi_network_c/test/embb_mtapi_network_test_buffer.cc index 4ed4eaf..69b39b8 100644 --- a/mtapi_network_c/test/embb_mtapi_network_test_buffer.cc +++ b/mtapi_network_c/test/embb_mtapi_network_test_buffer.cc @@ -25,8 +25,11 @@ */ #include + #include +#include + NetworkBufferTest::NetworkBufferTest() { CreateUnit("mtapi network buffer test").Add(&NetworkBufferTest::TestBasic, this); @@ -34,20 +37,31 @@ NetworkBufferTest::NetworkBufferTest() { void NetworkBufferTest::TestBasic() { embb_mtapi_network_buffer_t buffer; + int err; + embb_mtapi_network_buffer_initialize(&buffer, 1024); - embb_mtapi_network_buffer_push_back_int8(&buffer, -1); - embb_mtapi_network_buffer_push_back_int16(&buffer, -2); + + err = embb_mtapi_network_buffer_push_back_int8(&buffer, -1); + PT_EXPECT(err == 1); + err = embb_mtapi_network_buffer_push_back_int16(&buffer, -2); + PT_EXPECT(err == 2); + int8_t val8 = 0; - int result = embb_mtapi_network_buffer_pop_front_int8(&buffer, &val8); - PT_EXPECT(result == 1); + err = embb_mtapi_network_buffer_pop_front_int8(&buffer, &val8); + PT_EXPECT(err == 1); PT_EXPECT(val8 == -1); + int32_t val32 = 0; - result = embb_mtapi_network_buffer_pop_front_int32(&buffer, &val32); - PT_EXPECT(result == 0); + err = embb_mtapi_network_buffer_pop_front_int32(&buffer, &val32); + PT_EXPECT(err == 0); PT_EXPECT(val32 == 0); + int16_t val16 = 0; - result = embb_mtapi_network_buffer_pop_front_int16(&buffer, &val16); - PT_EXPECT(result == 2); + err = embb_mtapi_network_buffer_pop_front_int16(&buffer, &val16); + PT_EXPECT(err == 2); PT_EXPECT(val16 == -2); + embb_mtapi_network_buffer_finalize(&buffer); + + PT_EXPECT(embb_get_bytes_allocated() == 0); } -- libgit2 0.26.0