/* テキストファイル読み込み */

#include <stdio.h>
#include "deftype.h"
#include "abuff.h"
#include "amacro.h"

int TextRead(unchar *fname,unchar *(*text))
{
FILE *fp;
unchar *tkn;
int ret=0;
	/* テキストファイルオープン */
	fp=fopen(fname,"rt");
	if (fp==NULL) {
		printf2("\aファイルが見つかりません：%s\n",fname);
		return(4);
	}
	/* ファイルバッファー確保 */
	*text=tkn=newmalloc((size_t)filelength(fileno(fp)));
	if (tkn==NULL) {
		fclose(fp);
		printf2("\aバッファーが確保できません\n");
		return(5);
	}
	/* テキスト読み込み（１２８バイトずつ）*/
	while (fgets(tkn,128,fp)!=NULL) {
		/* tknからに１行読み込み */
		tkn+=strlen(tkn); /* EOS消す */
	}
	if (ferror(fp)) {
		printf2("\a読み込みエラー：%s\n",fname);
		free(*text);
		ret=6;
	} else *tkn=0; /* 最後のみEOSを入れる */
	fclose(fp);
	return(ret);
}
