https://git.reactos.org/?p=reactos.git;a=commitdiff;h=dd83bcd6ad67e320c04a39...
commit dd83bcd6ad67e320c04a393492cbbe342d9601b9 Author: Thomas Faber thomas.faber@reactos.org AuthorDate: Sat Feb 1 21:34:03 2020 +0100 Commit: Thomas Faber thomas.faber@reactos.org CommitDate: Sun Jun 14 09:10:27 2020 +0200
[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