Update CQL parser to use CQL 1.1 modifiers for booleans and
[yaz-moved-to-github.git] / test / tstwrbuf.c
1 /*
2  * Copyright (c) 2002-2003, Index Data
3  * See the file LICENSE for details.
4  *
5  * $Id: tstwrbuf.c,v 1.1 2003-10-27 12:21:38 adam Exp $
6  */
7
8 #include <stdio.h>
9
10 #include <yaz/wrbuf.h>
11
12 int main (int argc, char **argv)
13 {
14     int step;
15     WRBUF wr = wrbuf_alloc();
16
17     wrbuf_free(wr, 1);
18
19     wr = wrbuf_alloc();
20
21     for (step = 1; step < 65; step++)
22     {
23         int i, j, k;
24         int len;
25         char buf[64];
26         char *cp;
27         for (j = 1; j<step; j++)
28         {
29             for (i = 0; i<j; i++)
30                 buf[i] = i+1;
31             buf[i] = '\0';
32             wrbuf_puts(wr, buf);
33         }
34         
35         cp = wrbuf_buf(wr);
36         len = wrbuf_len(wr);
37         if (len != step * (step-1) / 2)
38         {
39             printf ("tstwrbuf 1 %d len=%d\n", step, len);
40             exit(1);
41         }
42         k = 0;
43         for (j = 1; j<step; j++)
44             for (i = 0; i<j; i++)
45             {
46                 if (cp[k] != i+1)
47                 {
48                     printf ("tstwrbuf 2 %d k=%d\n", step, k);
49                     exit(1);
50                 }
51                 k++;
52             }
53         wrbuf_rewind(wr);
54     }
55     wrbuf_free(wr, 1);
56     exit(0);
57 }
58