abuf: Add a function to copy a buffer
It is useful to be able to copy an abuf, to allow changes while preserving the original. Add a function for this. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -420,6 +420,29 @@ static int lib_test_abuf_init(struct unit_test_state *uts)
|
||||
}
|
||||
LIB_TEST(lib_test_abuf_init, 0);
|
||||
|
||||
/* Test abuf_copy() */
|
||||
static int lib_test_abuf_copy(struct unit_test_state *uts)
|
||||
{
|
||||
struct abuf buf, copy;
|
||||
ulong start;
|
||||
|
||||
start = ut_check_free();
|
||||
|
||||
abuf_init_set(&buf, test_data, TEST_DATA_LEN);
|
||||
ut_assert(abuf_copy(&buf, ©));
|
||||
ut_asserteq(buf.size, copy.size);
|
||||
ut_assert(buf.data != copy.data);
|
||||
ut_assert(copy.alloced);
|
||||
abuf_uninit(©);
|
||||
abuf_uninit(&buf);
|
||||
|
||||
/* Check for memory leaks */
|
||||
ut_assertok(ut_check_delta(start));
|
||||
|
||||
return 0;
|
||||
}
|
||||
LIB_TEST(lib_test_abuf_copy, 0);
|
||||
|
||||
/* Test abuf_init_size() */
|
||||
static int lib_test_abuf_init_size(struct unit_test_state *uts)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user