--- libelwix/example/test_iovec.c 2021/03/19 01:29:24 1.1 +++ libelwix/example/test_iovec.c 2021/03/21 01:32:04 1.2 @@ -0,0 +1,62 @@ +#include +#include + + +int +main(int argc, char **argv) +{ + iovec_t *iov; + char d[BUFSIZ], n[BUFSIZ]; + size_t nl, dl = sizeof d; + + iov = iov_Init(); + if (!iov) + return 1; + + printf("iov_Insert at 0 %d\n", iov_Insert(iov, 0, "aaaaa", 6)); + printf("iov_Insert at 3 %d\n", iov_Insert(iov, 3, "BBBBB", 6)); + + iov_Debug(iov); + + printf("iov_Delete at 1 %d\n", iov_Delete(iov, 1, 42)); + printf("iov_Delete at 9 %d\n", iov_Delete(iov, 9, 0)); + + iov_Debug(iov); + + printf("iov_Delete at 3 %d\n", iov_Delete(iov, 3, 0)); + printf("iov_Insert at 2 %d\n", iov_Insert(iov, 2, "bbbBB", 6)); + + iov_Debug(iov); + + printf("iov_Push at %d\n", iov_Push(iov, "oho", 4)); + printf("iov_Pop at %d\n", iov_Pop(iov, d, &dl, 0)); + printf(" -> (%zu) %s\n", dl, d); + + iov_Debug(iov); + + printf("iov_PushPair at %d\n", iov_PushPair(iov, "pair1", "o!o", (size_t) -1)); + + iov_Debug(iov); + + nl = sizeof n; + dl = sizeof d; + printf("iov_PopPair at %d\n", iov_PopPair(iov, n, &nl, d, &dl, 0)); + printf(" -> (%zu) %s = (%zu) %s\n", nl, n, dl, d); + + iov_Debug(iov); + + printf("iov_PushPair at %d\n", iov_PushPair(iov, "pair1", "o!o", (size_t) -1)); + printf("iov_PopPair without get data at %d\n", iov_PopPair(iov, NULL, NULL, NULL, NULL, 0)); + + iov_Delete(iov, 0, 0); + iov_Delete(iov, 1, 0); + + printf("+iov_PopPair without get data at %d\n", iov_PopPair(iov, NULL, NULL, NULL, NULL, 0)); + + iov_Debug(iov); + + iov_Destroy(&iov); + + mpool_dump(NULL, NULL); + return 0; +}