#include <stdio.h>
#include <doslibm.h>
#include "defines.h"
#include "amacro.h"

int AddAll(unchar *cutdir,unchar *outfile,unchar *wbuff,size_t wsize)
/* 指定ディレクトリ下の全ファイルを結合する */
{
FILE *fp;
struct FILBUF fb;
int ret,ret2=0;
unchar path[MAXPATH],file[MAXPATH];
	/* 出力ファイルオープン */
	if ((fp=fopen(outfile,"wb"))==NULL) return(4);
	
	/* ディレクトリの下のファイルを全結合する */
	dir_name(path,cutdir,"*.*");
	prints("全ファイル結合中...");
	ret=FILES(&fb,path,FA_ARCH);
	while (!ret) {
		dir_name(file,cutdir,fb.name);
		ret2=FileAdd(fp,file,wbuff,wsize);
		if (ret2) break; /* 1/2/3がエラーコードとしてあり */
		ret=NFILES(&fb);
	}
	crlf();
	/* 出力ファイルクローズ */
	if (ferror(fp)) ret2=2;
	fclose(fp);
	return(ret2);
}

#if 0
main()
{
#define	WSIZE	256
unchar wbuff[WSIZE];
	AddAll("test","all",wbuff,WSIZE);
}
#endif
