#include <string.h>
#include <doslibm.h>
#include <direct.h>
#include "defines.h"

int setdir(unchar *path,unchar *cdir)
/* 指定パスに移動する */
{
int drive,dv;
unchar drv[MAXDRIVE],dir[MAXDIR],fname[MAXFILE],ext[MAXEXT];
	/* ファイル名分解 */
	strsfn(path,drv,dir,fname,ext);
	
	/* カレントドライブ取得 */
	drive=CURDRV();
	/* ドライブ移動 */
	dv=drv[0]-'A';
	if (CHGDRV(dv)<dv) return(-1);
	
	/* そのドライブのカレントディレクトリ取得 */
	getcwd(cdir,MAXPATH);
	/* ディレクトリ移動 */
	if (CHDIR(dir)<0) {
		CHGDRV(drive); /* ドライブを戻す */
		return(-2);
	}
	
	return(drive);
}
