From cf0b2cbd6c88315c9ffa47368f1d9263ebf98466 Mon Sep 17 00:00:00 2001 From: Ulf Wohlers Date: Thu, 5 Jun 2003 11:03:12 +0000 Subject: [PATCH] dont duplicate handles in psp if filetable is copied (except null-handles) Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@1042 --- src/dos/dos_classes.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/dos/dos_classes.cpp b/src/dos/dos_classes.cpp index 320a4069..6f622b3e 100644 --- a/src/dos/dos_classes.cpp +++ b/src/dos/dos_classes.cpp @@ -163,7 +163,8 @@ void DOS_PSP::CopyFileTable(DOS_PSP* srcpsp,bool createchildpsp) Bit8u handle = srcpsp->GetFileHandle(i); if(createchildpsp) { //copy obeying not inherit flag.(but dont duplicate them) - if(Files[handle] && !(Files[handle]->flags & DOS_NOT_INHERIT) && (FindEntryByHandle(handle)==0xff)) + bool allowCopy = (handle==0) || ((handle>0) && (FindEntryByHandle(handle)==0xff)); + if(Files[handle] && !(Files[handle]->flags & DOS_NOT_INHERIT) && allowCopy) { SetFileHandle(i,handle); }