示例#1
0
static int getfsizes(Aflinst *t)
{
	off_t nb;

	if (afgetfsize(t->f.udict, &t->udictnb) < 0)
		return -1;
	
	if (afgetfsize(t->f.upost, &nb) < 0)
		return -1;
	t->upostn = nb / sizeof (ETYMON_INDEX_UPOST);
	if (afgetfsize(t->f.ufield, &nb) < 0)
		return -1;
	t->ufieldn = nb / sizeof (ETYMON_INDEX_UFIELD);
	if (afgetfsize(t->f.uword, &nb) < 0)
		return -1;
	t->uwordn = nb / sizeof (ETYMON_INDEX_UWORD);
	if (afgetfsize(t->f.lpost, &nb) < 0)
		return -1;
	t->lpostn = nb / sizeof (ETYMON_INDEX_LPOST);
	if (afgetfsize(t->f.lfield, &nb) < 0)
		return -1;
	t->lfieldn = nb / sizeof (ETYMON_INDEX_LFIELD);
	if (afgetfsize(t->f.lword, &nb) < 0)
		return -1;
	t->lwordn = nb / sizeof (ETYMON_INDEX_LWORD);

	return 0;
}
示例#2
0
文件: linbuf.c 项目: nassar/amberfish
int aflinbuf(FILE *f, int mem)
{
	off_t fsize;

	afgetfsize(f, &fsize);
	bufsize = ((size_t) mem) * 1048576;
/*	printf("aflinbuf: %i %lu %lu\n", mem, (unsigned long) fsize,
	(unsigned long) bufsize);*/
	bufsize = fsize < bufsize ? fsize : bufsize;
	fbuf = f;
	if (createbuf() < 0)
		return -1;
	if (fillbuf() < 0)
		return -1;
	
	return 0;
}