diff options
Diffstat (limited to 'src/example.c')
-rw-r--r-- | src/example.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/example.c b/src/example.c new file mode 100644 index 0000000..12383fa --- /dev/null +++ b/src/example.c @@ -0,0 +1,35 @@ +#include <assert.h> + +#include "pad.h" + +typedef struct foo_t { + int x, y, z; +} foo_t; + +#define CHUNK_CNT 256 + +int main(int argc, char *argv[]) +{ + foo_t *f[10 * CHUNK_CNT]; + pad_t *p; + + p = pad_new(sizeof(foo_t) * 256); + assert(p); + + for (int n = 0; n < 10; n++) { + for (int i = 0; i < 10 * CHUNK_CNT; i++) + assert(f[i] = pad_get(p, sizeof(foo_t))); + + for (int i = 0; i < 10 * CHUNK_CNT; i++) + pad_put(f[i]); + + for (int i = 0; i < 10 * CHUNK_CNT; i++) + assert(f[i] = pad_get(p, sizeof(foo_t))); + + pad_reset(p); + } + + pad_free(p); + + return 0; +} |