From 4092577e26c48e90c4221bcc31c106a11da79280 Mon Sep 17 00:00:00 2001 From: Sjoerd van der Berg Date: Wed, 23 Jul 2003 11:50:15 +0000 Subject: [PATCH] Check correct types for -t option of mount Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@1143 --- src/dos/dos_programs.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/dos/dos_programs.cpp b/src/dos/dos_programs.cpp index c00b7f8c..98ae9df6 100644 --- a/src/dos/dos_programs.cpp +++ b/src/dos/dos_programs.cpp @@ -68,14 +68,15 @@ public: if (type=="floppy") { str_size="512,1,2847,2847";/* All space free */ mediaid=0xF0; /* Floppy 1.44 media */ - } - if (type=="dir") { + } else if (type=="dir") { str_size="512,127,16513,1700"; mediaid=0xF8; /* Hard Disk */ - } - if (type=="cdrom") { + } else if (type=="cdrom") { str_size="650,127,16513,1700"; mediaid=0xF8; /* Hard Disk */ + } else { + WriteOut(MSG_Get("PROGAM_MOUNT_ILL_TYPE"),type.c_str()); + return; } cmd->FindString("-size",str_size,true); char number[20];const char * scan=str_size.c_str(); @@ -131,6 +132,9 @@ public: } else { newdrive=new localDrive(temp_line.c_str(),sizes[0],bit8size,sizes[2],sizes[3],mediaid); } + } else { + WriteOut(MSG_Get("PROGRAM_MOUNT_ILL_TYPE"),type.c_str()); + return; } if (Drives[drive-'A']) { WriteOut(MSG_Get("PROGRAM_MOUNT_ALLREADY_MOUNTED"),drive,Drives[drive-'A']->GetInfo()); @@ -293,6 +297,7 @@ void DOS_SetupPrograms(void) { MSG_Add("PROGRAM_MOUNT_STATUS_1","Current mounted drives are:\n"); MSG_Add("PROGRAM_MOUNT_ERROR_1","Directory %s doesn't exist.\n"); MSG_Add("PROGRAM_MOUNT_ERROR_2","%s isn't a directory\n"); + MSG_Add("PROGRAM_MOUNT_ILL_TYPE","Illegal type %s\n"); MSG_Add("PROGRAM_MOUNT_ALLREADY_MOUNTED","Drive %c already mounted with %s\n"); MSG_Add("PROGRAM_MOUNT_USAGE","Usage MOUNT Drive-Letter Local-Directory\nSo a MOUNT c c:\\windows mounts windows directory as the c: drive in DOSBox\n");