#include "defines.h"

unchar *SplitDir(unchar *path,unchar dir[])
// pathの先頭から\直前までの文字列を切り出す
// 最後＝ファイル名の時はdir[0]=0を返す
// \dir1\dir2\fname.ext
// 	-> \dir1 , \dir2 , \fname.ext
// 先頭の'\'は消してしまう
//	-> dir1 , dir2 , 0
{
unchar c,*path0;
int i=0;
	while (*path=='\\') path++; // 先頭の'\'は消してしまう
	path0=path; // 戻れるように最初の位置を記録
	while ((c=*path)!=0) {
		if (check_kanji1(c)) {
			dir[i++]=c;
			c=*++path; // ２バイト文字の２バイト目にEOSが来たら誤動作する
		} else {
			if (c=='\\') {
				// ここでは*path==c=='\'
				while (*(path+1)=='\\') path++; // '\'が続いている時は消してしまう
				break;
			}
		}
		dir[i++]=c;
		path++;
	}
	if (c==0) {i=0; path=path0;} // 最後はファイル名だったので消す＆戻す
	dir[i]=0;
	return(path);
}
// もともとFAT32システム用に作ったが、汎用に使えるので独立
