From dd83bcd6ad67e320c04a393492cbbe342d9601b9 Mon Sep 17 00:00:00 2001 From: Thomas Faber Date: Sat, 1 Feb 2020 21:34:03 +0100 Subject: [PATCH] [RTL] Create a define for the common members of HEAP and HEAP_SEGMENT. CORE-14588 The code relies on these members matching up, so it's confusing for them to be duplicated. --- sdk/lib/rtl/heap.h | 46 ++++++++++++++++++---------------------------- 1 file changed, 18 insertions(+), 28 deletions(-) diff --git a/sdk/lib/rtl/heap.h b/sdk/lib/rtl/heap.h index c4c46a45b45..8fb9bc7ae0d 100644 --- a/sdk/lib/rtl/heap.h +++ b/sdk/lib/rtl/heap.h @@ -203,22 +203,25 @@ typedef struct _HEAP_LIST_LOOKUP PLIST_ENTRY *ListHints; } HEAP_LIST_LOOKUP, *PHEAP_LIST_LOOKUP; +#define HEAP_SEGMENT_MEMBERS \ + HEAP_ENTRY Entry; \ + ULONG SegmentSignature; \ + ULONG SegmentFlags; \ + LIST_ENTRY SegmentListEntry; \ + struct _HEAP *Heap; \ + PVOID BaseAddress; \ + ULONG NumberOfPages; \ + PHEAP_ENTRY FirstEntry; \ + PHEAP_ENTRY LastValidEntry; \ + ULONG NumberOfUnCommittedPages; \ + ULONG NumberOfUnCommittedRanges; \ + USHORT SegmentAllocatorBackTraceIndex; \ + USHORT Reserved; \ + LIST_ENTRY UCRSegmentList + typedef struct _HEAP { - HEAP_ENTRY Entry; - ULONG SegmentSignature; - ULONG SegmentFlags; - LIST_ENTRY SegmentListEntry; - struct _HEAP *Heap; - PVOID BaseAddress; - ULONG NumberOfPages; - PHEAP_ENTRY FirstEntry; - PHEAP_ENTRY LastValidEntry; - ULONG NumberOfUnCommittedPages; - ULONG NumberOfUnCommittedRanges; - USHORT SegmentAllocatorBackTraceIndex; - USHORT Reserved; - LIST_ENTRY UCRSegmentList; + HEAP_SEGMENT_MEMBERS; ULONG Flags; ULONG ForceFlags; @@ -271,20 +274,7 @@ typedef struct _HEAP typedef struct _HEAP_SEGMENT { - HEAP_ENTRY Entry; - ULONG SegmentSignature; - ULONG SegmentFlags; - LIST_ENTRY SegmentListEntry; - PHEAP Heap; - PVOID BaseAddress; - ULONG NumberOfPages; - PHEAP_ENTRY FirstEntry; - PHEAP_ENTRY LastValidEntry; - ULONG NumberOfUnCommittedPages; - ULONG NumberOfUnCommittedRanges; - USHORT SegmentAllocatorBackTraceIndex; - USHORT Reserved; - LIST_ENTRY UCRSegmentList; + HEAP_SEGMENT_MEMBERS; } HEAP_SEGMENT, *PHEAP_SEGMENT; typedef struct _HEAP_UCR_DESCRIPTOR