From 4fae68a7b6864305766c010e35b6d4c2c409533b Mon Sep 17 00:00:00 2001 From: Ulf Wohlers Date: Thu, 9 Oct 2003 13:47:44 +0000 Subject: [PATCH] dont duplicate console handles Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@1303 --- src/dos/dos_files.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/dos/dos_files.cpp b/src/dos/dos_files.cpp index 4c60428b..6402fe2d 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.45 2003-10-04 12:40:28 finsterr Exp $ */ +/* $Id: dos_files.cpp,v 1.46 2003-10-09 13:47:44 finsterr Exp $ */ #include #include @@ -467,6 +467,13 @@ bool DOS_GetFreeDiskSpace(Bit8u drive,Bit16u * bytes,Bit8u * sectors,Bit16u * cl } bool DOS_DuplicateEntry(Bit16u entry,Bit16u * newentry) { + + // Dont duplicate console handles + if (entry<=STDPRN) { + *newentry = entry; + return true; + }; + Bit8u handle=RealHandle(entry); if (handle>=DOS_FILES) { DOS_SetError(DOSERR_INVALID_HANDLE); @@ -488,6 +495,13 @@ bool DOS_DuplicateEntry(Bit16u entry,Bit16u * newentry) { }; bool DOS_ForceDuplicateEntry(Bit16u entry,Bit16u newentry) { + + // Dont duplicate console handles + if (entry<=STDPRN) { + newentry = entry; + return true; + }; + Bit8u orig=RealHandle(entry); if (orig>=DOS_FILES) { DOS_SetError(DOSERR_INVALID_HANDLE);