--- libelwix/example/test_rbuf.c 2025/09/26 10:00:46 1.1.2.1 +++ libelwix/example/test_rbuf.c 2026/02/18 11:41:47 1.4 @@ -1,6 +1,7 @@ #include #include #include +#include #include @@ -8,7 +9,7 @@ int main(int argc, char **argv) { ringbuf_t rbuf; - struct iovec iov; + struct iovec *iov; int res, i; argc--; @@ -24,26 +25,26 @@ main(int argc, char **argv) printf("Result must be 1==%d empty buffer\n", rbuf_dequeue(&rbuf, NULL)); printf("Buffer is empty? %d\n", rbuf_isempty(&rbuf)); printf("Buffer is full? %d\n", rbuf_isfull(&rbuf)); - printf("Result enqueue %d\n", rbuf_enqueue(&rbuf, argv[0], argv[0] ? strlen(argv[0]) : 0)); + printf("Result enqueue %d\n", rbuf_enqueue(&rbuf, argv[0], argv[0] ? strlen(argv[0]) : 0, 1)); printf("Buffer is empty? %d\n", rbuf_isempty(&rbuf)); printf("Buffer is full? %d\n", rbuf_isfull(&rbuf)); printf("Result dequeue %d\n", (res = rbuf_dequeue(&rbuf, &iov))); if (!res) - printf("iov.iov_base=%p==%p iov.iov_size=%u==%u\n", iov.iov_base, argv[0], iov.iov_len, argv[0] ? strlen(argv[0]) : 0); + printf("iov.iov_base=%p==%p iov.iov_size=%zu==%u\n", iov->iov_base, argv[0], iov->iov_len, (u_int) (argv[0] ? strlen(argv[0]) : 0)); printf("Buffer is empty? %d\n", rbuf_isempty(&rbuf)); printf("Buffer is full? %d\n", rbuf_isfull(&rbuf)); for (i = 0; i < argc; i++) - printf("Result enqueue arg#%d %d\n", i, rbuf_enqueue(&rbuf, argv[i], argv[i] ? strlen(argv[i]) : 0)); + printf("Result enqueue arg#%d %d\n", i, rbuf_enqueue(&rbuf, argv[i], argv[i] ? strlen(argv[i]) : 0, 1)); printf("Buffer is empty? %d\n", rbuf_isempty(&rbuf)); printf("Buffer is full? %d\n", rbuf_isfull(&rbuf)); for (i = 0; i < argc && !(res = rbuf_dequeue(&rbuf, &iov)); i++) - printf("Result dequeue arg#%d %d = (%d)/%s\n", i, res, iov.iov_len, iov.iov_base); + printf("Result dequeue arg#%d %d = (%zu)/%s\n", i, res, iov->iov_len, (char*) iov->iov_base); printf("Buffer must be empty? 1==%d\n", rbuf_isempty(&rbuf)); printf("Buffer is full? %d\n", rbuf_isfull(&rbuf)); for (i = 0; i < argc; i++) - printf("Result enqueue arg#%d %d\n", i, rbuf_enqueue(&rbuf, argv[i], argv[i] ? strlen(argv[i]) : 0)); + printf("Result enqueue arg#%d %d\n", i, rbuf_enqueue(&rbuf, argv[i], argv[i] ? strlen(argv[i]) : 0, 0)); printf("Buffer is empty? %d\n", rbuf_isempty(&rbuf)); printf("Buffer is full? %d\n", rbuf_isfull(&rbuf)); printf("Purge buffer test\n"); @@ -52,7 +53,7 @@ main(int argc, char **argv) printf("Buffer is full? %d\n", rbuf_isfull(&rbuf)); rbuf_free(&rbuf); - printf("Result enqueue after free! -1==%d\n", rbuf_enqueue(&rbuf, argv[0], argv[0] ? strlen(argv[0]) : 0)); + printf("Result enqueue after free! -1==%d\n", rbuf_enqueue(&rbuf, argv[0], argv[0] ? strlen(argv[0]) : 0, 0)); printf("Result dequeue after free! -1==%d\n", rbuf_dequeue(&rbuf, &iov)); return 0; }