From bf5f693ff9aa0d1de6297a25462fc9785bdafdec Mon Sep 17 00:00:00 2001 From: Ulrich Weigand Date: Sun, 11 Oct 1998 19:12:16 +0000 Subject: [PATCH] Implemented HEAP_WINE_CODE16SEG SEGPTR heaps with 16-bit code segments. --- include/winnt.h | 1 + memory/heap.c | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/include/winnt.h b/include/winnt.h index bb44df9a31a..f84010a60b0 100644 --- a/include/winnt.h +++ b/include/winnt.h @@ -24,6 +24,7 @@ #define HEAP_CREATE_ENABLE_TRACING 0x00020000 #define HEAP_WINE_SEGPTR 0x01000000 /* Not a Win32 flag */ #define HEAP_WINE_CODESEG 0x02000000 /* Not a Win32 flag */ +#define HEAP_WINE_CODE16SEG 0x04000000 /* Not a Win32 flag */ /* Processor feature flags. */ #define PF_FLOATING_POINT_PRECISION_ERRATA 0 diff --git a/memory/heap.c b/memory/heap.c index e3eb621b4c1..7ac904e6cff 100644 --- a/memory/heap.c +++ b/memory/heap.c @@ -453,8 +453,9 @@ static BOOL32 HEAP_InitSubHeap( HEAP *heap, LPVOID address, DWORD flags, if (flags & HEAP_WINE_SEGPTR) { selector = SELECTOR_AllocBlock( address, totalSize, - (flags & HEAP_WINE_CODESEG) ? SEGMENT_CODE : SEGMENT_DATA, - (flags & HEAP_WINE_CODESEG) != 0, FALSE ); + (flags & (HEAP_WINE_CODESEG|HEAP_WINE_CODE16SEG)) + ? SEGMENT_CODE : SEGMENT_DATA, + (flags & HEAP_WINE_CODESEG) != 0, FALSE ); if (!selector) { WARN(heap, "Could not allocate selector\n" );