Split YAZ library into two libs : libyaz.la and libyaz_server.la.
[yaz-moved-to-github.git] / test / tstnmem.c
1 /*
2  * Copyright (C) 1995-2007, Index Data ApS
3  * See the file LICENSE for details.
4  *
5  * $Id: tstnmem.c,v 1.8 2007-04-17 20:26:18 adam Exp $
6  */
7
8 #if HAVE_CONFIG_H
9 #include <config.h>
10 #endif
11
12 #include <errno.h>
13 #include <string.h>
14 #include <stdlib.h>
15 #include <ctype.h>
16
17 #include <yaz/nmem.h>
18 #include <yaz/test.h>
19
20 void tst(void)
21 {
22     NMEM n;
23     int j;
24     char *cp;
25
26     n = nmem_create();
27     YAZ_CHECK(n);
28
29     for (j = 1; j<500; j++)
30     {
31         cp = nmem_malloc(n, j);
32         YAZ_CHECK(cp);
33         if (sizeof(long) >= j)
34             *(long*) cp = 123L;
35 #if HAVE_LONG_LONG
36         if (sizeof(long long) >= j)
37             *(long long*) cp = 123L;
38 #endif
39         if (sizeof(double) >= j)
40             *(double*) cp = 12.2;
41     }
42     
43     for (j = 2000; j<20000; j+= 2000)
44     {
45         cp = nmem_malloc(n, j);
46         YAZ_CHECK(cp);
47     }
48     nmem_destroy(n);
49 }
50
51 int main (int argc, char **argv)
52 {
53     YAZ_CHECK_INIT(argc, argv);
54     tst();
55     YAZ_CHECK_TERM;
56 }
57 /*
58  * Local variables:
59  * c-basic-offset: 4
60  * indent-tabs-mode: nil
61  * End:
62  * vim: shiftwidth=4 tabstop=8 expandtab
63  */
64