From ca59d955d998f743826ceba4f5d4abef9c4db90b Mon Sep 17 00:00:00 2001 From: Peter Veenstra Date: Tue, 1 Mar 2005 19:39:55 +0000 Subject: [PATCH] A filename that starts with a space should result in file_not_found. (Fixes some foreign editor) Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@2123 --- src/dos/dos_files.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/dos/dos_files.cpp b/src/dos/dos_files.cpp index aa2a0d86..70e8ccd7 100644 --- a/src/dos/dos_files.cpp +++ b/src/dos/dos_files.cpp @@ -16,7 +16,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* $Id: dos_files.cpp,v 1.61 2005-02-24 11:29:26 qbix79 Exp $ */ +/* $Id: dos_files.cpp,v 1.62 2005-03-01 19:39:55 qbix79 Exp $ */ #include #include @@ -53,7 +53,10 @@ void DOS_SetDefaultDrive(Bit8u drive) { } bool DOS_MakeName(char * name,char * fullname,Bit8u * drive) { - if(strlen(name) == 0) { + + if(!name || *name == 0 || *name == ' ') { + /* Both \0 and space are seperators and + * empty filenames report file not found */ DOS_SetError(DOSERR_FILE_NOT_FOUND); return false; } @@ -81,7 +84,7 @@ bool DOS_MakeName(char * name,char * fullname,Bit8u * drive) { case '/': upname[w++]='\\'; break; - case ' ': + case ' ': /* should be seperator */ break; case '\\': case '$': case '#': case '@': case '(': case ')': case '!': case '%': case '{': case '}': case '`': case '~':