From acd41dba610ff03e2f87082540e92fbb8595b3e2 Mon Sep 17 00:00:00 2001 From: Peter Veenstra Date: Wed, 22 Aug 2007 07:34:57 +0000 Subject: [PATCH] Clear drive part if no drive is present. Add extra log output for illegal chars. Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@2980 --- src/dos/dos_files.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/dos/dos_files.cpp b/src/dos/dos_files.cpp index f057bcd2..80ec84ad 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.90 2007-06-29 10:24:43 qbix79 Exp $ */ +/* $Id: dos_files.cpp,v 1.91 2007-08-22 07:34:57 qbix79 Exp $ */ #include #include @@ -94,7 +94,7 @@ bool DOS_MakeName(char const * const name,char * const fullname,Bit8u * drive) { upname[w++]=c; break; default: - LOG(LOG_FILES,LOG_NORMAL)("Makename encountered an illegal char %c hex:%X !",c,c); + LOG(LOG_FILES,LOG_NORMAL)("Makename encountered an illegal char %c hex:%X in %s!",c,c,name); DOS_SetError(DOSERR_PATH_NOT_FOUND);return false; break; } @@ -768,9 +768,9 @@ checkext: index++; } savefcb: - if (!hasdrive & !(parser & PARSE_DFLT_DRIVE)) fcb_name.part.drive[0]=dos.current_drive+1; + if (!hasdrive & !(parser & PARSE_DFLT_DRIVE)) fcb_name.part.drive[0] = 0; if (!hasname & !(parser & PARSE_BLNK_FNAME)) strcpy(fcb_name.part.name," "); - if (!hasext & !(parser & PARSE_BLNK_FEXT)) strcpy(fcb_name.part.ext," "); + if (!hasext & !(parser & PARSE_BLNK_FEXT)) strcpy(fcb_name.part.ext," "); fcb.SetName(fcb_name.part.drive[0],fcb_name.part.name,fcb_name.part.ext); *change=(Bit8u)(string-string_begin); return ret;