Annotation of libelwix/example/test_lrbuf.c, revision 1.2.16.1

1.2       misho       1: #include <stdio.h>
                      2: #include <stdlib.h>
                      3: #include <elwix.h>
                      4: 
                      5: 
                      6: int
                      7: main(int argc, char **argv)
                      8: {
                      9:        lrbuf_t lrb = { 0 };
                     10:        int res, len;
                     11:        char line[STRSIZ];
                     12: 
                     13:        res = lrb_init(&lrb, 32);
                     14:        printf("lrb_init(32) -> #%d\n", res);
                     15: 
                     16:        lrb_queued(&lrb, res);
                     17:        printf("lrb_queued -> #%d\n", res);
                     18:        lrb_unused(&lrb, res);
                     19:        printf("lrb_unused -> #%d\n", res);
                     20: 
                     21:        while (fgets(line, sizeof line - 1, stdin)) {
                     22:                if (!strcmp(line, ".\n"))
                     23:                        break;
                     24:                printf("isempty() -> #%d\n", lrb_isempty(&lrb));
                     25:                printf("isfull() -> #%d\n", lrb_isfull(&lrb));
                     26: 
                     27:                lrb_queued(&lrb, res);
                     28:                printf("e1_lrb_queued -> #%d\n", res);
                     29:                lrb_unused(&lrb, res);
                     30:                printf("e1_lrb_unused -> #%d\n", res);
                     31:                res = lrb_enqueue(&lrb, line, strlen(line), argc > 1);
                     32:                printf("lrb_enqueue(%d, %d) -> #%d\n", strlen(line), argc > 1, res);
                     33:                lrb_queued(&lrb, res);
                     34:                printf("e2_lrb_queued -> #%d\n", res);
                     35:                lrb_unused(&lrb, res);
                     36:                printf("e2_lrb_unused -> #%d\n", res);
                     37:        }
                     38: 
                     39:        lrb_queued(&lrb, res);
                     40:        printf("lrb_queued -> #%d\n", res);
                     41:        lrb_unused(&lrb, res);
                     42:        printf("lrb_unused -> #%d\n", res);
                     43: 
                     44:        while (fgets(line, sizeof line - 1, stdin)) {
                     45:                if (!strcmp(line, ".\n"))
                     46:                        break;
                     47:                printf("isempty() -> #%d\n", lrb_isempty(&lrb));
                     48:                printf("isfull() -> #%d\n", lrb_isfull(&lrb));
                     49: 
                     50:                lrb_queued(&lrb, res);
                     51:                printf("d1_lrb_queued -> #%d\n", res);
                     52:                lrb_unused(&lrb, res);
                     53:                printf("d1_lrb_unused -> #%d\n", res);
                     54:                len = strtol(line, NULL, 10);
                     55:                memset(line, 0, sizeof line);
1.2.16.1! misho      56:                res = lrb_dequeue(&lrb, line, MIN(len, sizeof line), 0);
1.2       misho      57:                printf("lrb_dequeue(%d) -> #%d\n", len, res);
                     58:                printf("LINE='%s'\n", line);
                     59:                lrb_queued(&lrb, res);
                     60:                printf("d2_lrb_queued -> #%d\n", res);
                     61:                lrb_unused(&lrb, res);
                     62:                printf("d2_lrb_unused -> #%d\n", res);
                     63:        }
                     64: 
                     65:        lrb_queued(&lrb, res);
                     66:        printf("lrb_queued -> #%d\n", res);
                     67:        lrb_unused(&lrb, res);
                     68:        printf("lrb_unused -> #%d\n", res);
                     69: 
1.2.16.1! misho      70:        res = lrb_dequeue(&lrb, NULL, 2, 0);
1.2       misho      71:        printf("lrb_dequeue(2) -> #%d\n", res);
                     72: 
                     73:        lrb_queued(&lrb, res);
                     74:        printf("lrb_queued -> #%d\n", res);
                     75:        lrb_unused(&lrb, res);
                     76:        printf("lrb_unused -> #%d\n", res);
                     77: 
                     78:        lrb_purge(&lrb);
                     79:        printf("isempty() -> #%d\n", lrb_isempty(&lrb));
                     80:        printf("isfull() -> #%d\n", lrb_isfull(&lrb));
                     81: 
                     82:        lrb_free(&lrb);
                     83:        printf("Done.\n");
                     84:        return 0;
                     85: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>