diff --git a/src/dos/dos_files.cpp b/src/dos/dos_files.cpp index 99217e38..5c3be2d7 100644 --- a/src/dos/dos_files.cpp +++ b/src/dos/dos_files.cpp @@ -150,8 +150,16 @@ bool DOS_GetCurrentDir(Bit8u drive,char * buffer) { } bool DOS_ChangeDir(char * dir) { + + // Be sure its not a file (Eye of the beholder 3) + char* str; + if (str=strchr(dir,'.')) { + if (isalpha(str[1]) || isdigit(str[1])) return false; + }; + Bit8u drive;char fulldir[DOS_PATHLENGTH]; if (!DOS_MakeName(dir,fulldir,&drive)) return false; + if (Drives[drive]->TestDir(fulldir)) { strcpy(Drives[drive]->curdir,fulldir); return true;