# HG changeset patch # User Mike Becker # Date 1651300251 -7200 # Node ID cb9b9739055e8bfcbcefad7f82cba9df812e1dd3 # Parent 2ff6e9184468350ab8f844a2aa16033c3a186b98 #170 add cxBufferClear test diff -r 2ff6e9184468 -r cb9b9739055e src/buffer.c --- a/src/buffer.c Sun Apr 24 17:45:09 2022 +0200 +++ b/src/buffer.c Sat Apr 30 08:30:51 2022 +0200 @@ -119,7 +119,8 @@ return 0; } - if (cxReallocate(buffer->allocator, &buffer->bytes, newcap) == 0) { + if (cxReallocate(buffer->allocator, + (void **) &buffer->bytes, newcap) == 0) { buffer->capacity = newcap; return 0; } else { diff -r 2ff6e9184468 -r cb9b9739055e test/test_buffer.cpp --- a/test/test_buffer.cpp Sun Apr 24 17:45:09 2022 +0200 +++ b/test/test_buffer.cpp Sat Apr 30 08:30:51 2022 +0200 @@ -242,3 +242,20 @@ cxBufferDestroy(&buf); EXPECT_TRUE(alloc.verify()); } + +TEST(BufferClear, Test) { + char space[16]; + strcpy(space, "clear test"); + CxBuffer buf; + cxBufferInit(&buf, space, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); + ASSERT_EQ(buf.size, 0); + // only clear the used part of the buffer + cxBufferClear(&buf); + EXPECT_EQ(memcmp(space, "clear test", 10), 0); + buf.size = 5; + buf.pos = 3; + cxBufferClear(&buf); + EXPECT_EQ(memcmp(space, "\0\0\0\0\0 test", 10), 0); + EXPECT_EQ(buf.size, 0); + EXPECT_EQ(buf.pos, 0); +}