From 63cd877bab3f9f529f792a4afa0912e9db55cc5f Mon Sep 17 00:00:00 2001 From: Ulf Wohlers Date: Mon, 28 Oct 2002 20:32:47 +0000 Subject: [PATCH] fixed a bug in DOS_ChangeDir: if dir is a file - return false Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@459 --- src/dos/dos_files.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) 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;