diff options
Diffstat (limited to 'test-bufferq.c')
-rw-r--r-- | test-bufferq.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/test-bufferq.c b/test-bufferq.c new file mode 100644 index 0000000..d4585e2 --- /dev/null +++ b/test-bufferq.c @@ -0,0 +1,39 @@ +#include "bufferq.h" + +int main(int argc, char *argv[]) { + + bufferq_t q; + + bufferq_init(&q, 1, 1); + + bufferq_push(&q, 0, "{AAAAAAAA}", 10, 0, SA_SEEK_RELATIVE); + bufferq_push(&q, 0, "<BBBBBBBB>", 10, 5, SA_SEEK_RELATIVE); + bufferq_push(&q, 0, "[CCCC]", 6, -18, SA_SEEK_RELATIVE); + bufferq_push(&q, 0, "(DDDD)", 6, -3, SA_SEEK_ABSOLUTE); + bufferq_push(&q, 0, "XXX", 3, 10, SA_SEEK_RELATIVE_END); + bufferq_push(&q, 0, "YYYYY", 5, -4, SA_SEEK_RELATIVE); + + for (;;) { + void *b[1]; + size_t size; + + bufferq_get(&q, b, &size); + + if (size == 0) + break; + + printf("Got %u bytes: ", size); + if (b[0]) + fwrite(b[0], size, 1, stdout); + else + printf("empty"); + + printf("\n"); + + bufferq_drop(&q, size); + } + + bufferq_done(&q); + + return 0; +} |