From 63c2e24aee31364f4ec14d46ffc76c65336ef4ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Strohh=C3=A4cker?= Date: Sun, 14 Oct 2007 17:31:52 +0000 Subject: [PATCH] fix some casts Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3017 --- src/dos/cdrom_image.cpp | 14 ++++++++------ src/dos/dos_programs.cpp | 8 ++++++-- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/dos/cdrom_image.cpp b/src/dos/cdrom_image.cpp index 1d035ee2..4d378f80 100644 --- a/src/dos/cdrom_image.cpp +++ b/src/dos/cdrom_image.cpp @@ -16,7 +16,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* $Id: cdrom_image.cpp,v 1.17 2007-08-22 11:54:35 qbix79 Exp $ */ +/* $Id: cdrom_image.cpp,v 1.18 2007-10-14 17:31:52 c2woody Exp $ */ #include #include @@ -604,11 +604,13 @@ bool CDROM_Interface_Image::GetRealFileName(string &filename, string &pathname) Bit8u drive; if (!DOS_MakeName(tmp, fullname, &drive)) return false; - localDrive *ldp = (localDrive*)Drives[drive]; - ldp->GetSystemFilename(tmp, fullname); - if (stat(tmp, &test) == 0) { - filename = tmp; - return true; + localDrive *ldp = dynamic_cast(Drives[drive]); + if (ldp) { + ldp->GetSystemFilename(tmp, fullname); + if (stat(tmp, &test) == 0) { + filename = tmp; + return true; + } } return false; diff --git a/src/dos/dos_programs.cpp b/src/dos/dos_programs.cpp index 645b3105..108230ab 100644 --- a/src/dos/dos_programs.cpp +++ b/src/dos/dos_programs.cpp @@ -16,7 +16,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* $Id: dos_programs.cpp,v 1.77 2007-08-22 11:54:54 qbix79 Exp $ */ +/* $Id: dos_programs.cpp,v 1.78 2007-10-14 17:31:52 c2woody Exp $ */ #include "dosbox.h" #include @@ -1016,7 +1016,11 @@ public: return; } - localDrive *ldp = (localDrive*)Drives[dummy]; + localDrive *ldp = dynamic_cast(Drives[dummy]); + if (ldp==NULL) { + WriteOut(MSG_Get("PROGRAM_IMGMOUNT_FILE_NOT_FOUND")); + return; + } ldp->GetSystemFilename(tmp, fullname); temp_line = tmp;