diff options
author | Lennart Poettering <lennart@poettering.net> | 2007-05-14 17:07:21 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2007-05-14 17:07:21 +0000 |
commit | a68ee34ebfbbc6e6bc653aadc284264e10694930 (patch) | |
tree | f092f59607e6bb2e543cd9ec28619fd4f60cf3e5 /test-bufferq.c | |
parent | c7940f68a29e90b5cdc7368ec62ffeaeeca8208e (diff) |
add bufferq structure
git-svn-id: file:///home/lennart/svn/public/libsydney/trunk@17 9ba3c220-e4d3-45a2-8aa3-73fcc9aff6ce
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; +} |