#include <stdio.h>
#include <doslibm.h>

/* Page Point Buffer : fblock版 */

struct FILBUF fblock_buff(fbbuff,limit,page,fblock)
struct FILBUF fbbuff[],*fblock;
int limit,page;
{
int wp,i;
	wp=((page-1)%limit); /* write point : page=1〜 -> 0〜 */
	
	if (fblock!=NULL) { /* data write */
		if (page==1) { /* 最初のページ */
			/* バッファーを初期化してからデータを書き込む */
			for(i=0;i<limit;i++) fbbuff[i].name[0]=0;
		}
		fbbuff[wp]=*fblock;
		fbbuff[(page%limit)].name[0]=0; /* 次のところを消す */
	}
	
	/* read dataのときはすぐここに来る */
	return(fbbuff[wp]);
}
