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

1.1.2.1   misho       1: #include <stdio.h>
1.1.2.2   misho       2: #include <stdlib.h>
1.1.2.1   misho       3: #include <elwix.h>
                      4: 
                      5: 
                      6: int
                      7: main(int argc, char **argv)
                      8: {
                      9:        lrbuf_t lrb = { 0 };
1.1.2.2   misho      10:        int res, len;
                     11:        char line[STRSIZ];
1.1.2.1   misho      12: 
                     13:        res = lrb_init(&lrb, 32);
                     14:        printf("lrb_init(32) -> #%d\n", res);
                     15: 
1.1.2.3 ! misho      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: 
1.1.2.2   misho      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: 
1.1.2.3 ! misho      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);
1.1.2.2   misho      31:                res = lrb_enqueue(&lrb, line, strlen(line), argc > 1);
                     32:                printf("lrb_enqueue(%d, %d) -> #%d\n", strlen(line), argc > 1, res);
1.1.2.3 ! misho      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);
1.1.2.2   misho      37:        }
                     38: 
1.1.2.3 ! misho      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: 
1.1.2.2   misho      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: 
1.1.2.3 ! misho      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);
1.1.2.2   misho      54:                len = strtol(line, NULL, 10);
1.1.2.3 ! misho      55:                memset(line, 0, sizeof line);
1.1.2.2   misho      56:                res = lrb_dequeue(&lrb, line, MIN(len, sizeof line));
                     57:                printf("lrb_dequeue(%d) -> #%d\n", len, res);
                     58:                printf("LINE='%s'\n", line);
1.1.2.3 ! misho      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);
1.1.2.2   misho      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: 
                     70:        res = lrb_dequeue(&lrb, NULL, 2);
                     71:        printf("lrb_dequeue(2) -> #%d\n", res);
                     72: 
1.1.2.3 ! misho      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: 
1.1.2.1   misho      82:        lrb_free(&lrb);
                     83:        printf("Done.\n");
                     84:        return 0;
                     85: }

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