libowfat/array/iarray_init.c

17 lines
402 B
C
Raw Normal View History

2009-03-12 21:32:43 +00:00
#include "iarray.h"
void iarray_init(iarray* ia,size_t elemsize) {
2014-03-29 11:17:04 +00:00
size_t i;
2009-03-12 21:32:43 +00:00
ia->elemsize=elemsize;
2014-03-29 11:17:04 +00:00
for (i=0; i<sizeof(ia->pages)/sizeof(ia->pages[0]); ++i)
ia->pages[i]=0;
2009-03-12 21:32:43 +00:00
if (elemsize<1024)
ia->bytesperpage=4096;
else if (elemsize<8192)
ia->bytesperpage=65536;
else
2014-03-29 11:17:04 +00:00
ia->bytesperpage=elemsize+sizeof(void*);
ia->elemperpage=(ia->bytesperpage-sizeof(void*))/elemsize;
2009-03-12 21:32:43 +00:00
}