source: trunk/src/imagehlp/internal.cpp@ 3634

Last change on this file since 3634 was 3634, checked in by sandervl, 25 years ago

JW: Updated (Wine 26/05/2000)

File size: 2.3 KB
Line 
1/*
2 * IMAGEHLP library
3 *
4 * Copyright 1998 Patrik Stridvall
5 */
6
7#include <os2win.h>
8#include <odinwrap.h>
9#include <imagehlp.h>
10#include <heapstring.h>
11
12/***********************************************************************
13 * InitializeListHead
14 */
15VOID InitializeListHead(PLIST_ENTRY pListHead)
16{
17 pListHead->Flink = pListHead;
18 pListHead->Blink = pListHead;
19}
20
21/***********************************************************************
22 * InsertHeadList
23 */
24VOID InsertHeadList(PLIST_ENTRY pListHead, PLIST_ENTRY pEntry)
25{
26 pEntry->Blink = pListHead;
27 pEntry->Flink = pListHead->Flink;
28 pListHead->Flink = pEntry;
29}
30
31/***********************************************************************
32 * InsertTailList
33 */
34VOID InsertTailList(PLIST_ENTRY pListHead, PLIST_ENTRY pEntry)
35{
36 pEntry->Flink = pListHead;
37 pEntry->Blink = pListHead->Blink;
38 pListHead->Blink = pEntry;
39}
40
41/***********************************************************************
42 * IsListEmpty
43 */
44BOOLEAN IsListEmpty(PLIST_ENTRY pListHead)
45{
46 return !pListHead;
47}
48
49/***********************************************************************
50 * PopEntryList
51 */
52PSINGLE_LIST_ENTRY PopEntryList(PSINGLE_LIST_ENTRY pListHead)
53{
54 pListHead->Next = NULL;
55 return pListHead;
56}
57
58/***********************************************************************
59 * PushEntryList
60 */
61VOID PushEntryList(
62 PSINGLE_LIST_ENTRY pListHead, PSINGLE_LIST_ENTRY pEntry)
63{
64 pEntry->Next=pListHead;
65}
66
67/***********************************************************************
68 * RemoveEntryList
69 */
70VOID RemoveEntryList(PLIST_ENTRY pEntry)
71{
72 pEntry->Flink->Blink = pEntry->Blink;
73 pEntry->Blink->Flink = pEntry->Flink;
74 pEntry->Flink = NULL;
75 pEntry->Blink = NULL;
76}
77
78/***********************************************************************
79 * RemoveHeadList
80 */
81PLIST_ENTRY RemoveHeadList(PLIST_ENTRY pListHead)
82{
83 PLIST_ENTRY p = pListHead->Flink;
84
85 if(p != pListHead)
86 {
87 RemoveEntryList(pListHead);
88 return p;
89 }
90 else
91 {
92 pListHead->Flink = NULL;
93 pListHead->Blink = NULL;
94 return NULL;
95 }
96}
97
98/***********************************************************************
99 * RemoveTailList
100 */
101PLIST_ENTRY RemoveTailList(PLIST_ENTRY pListHead)
102{
103 RemoveHeadList(pListHead->Blink);
104 if(pListHead != pListHead->Blink)
105 return pListHead;
106 else
107 return NULL;
108}
Note: See TracBrowser for help on using the repository browser.