1
2 /* $Id: tixSmpLs.c,v 1.1.1.1 2000/05/17 11:08:42 idiscovery Exp $ */
3
4 /*
5 * tixSmpLs.c --
6 *
7 * To implement simple link lists (next is always the first
8 * member of the list).
9 *
10 * Copyright (c) 1996, Expert Interface Technologies
11 *
12 * See the file "license.terms" for information on usage and redistribution
13 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
14 *
15 */
16
17 #include "tixPort.h"
18 #include "tixInt.h"
19
20 static Tix_ListInfo simpleListInfo = {
21 0,
22 TIX_UNDEFINED,
23 };
24
Tix_SimpleListInit(lPtr)25 void Tix_SimpleListInit(lPtr)
26 Tix_LinkList * lPtr;
27 {
28 Tix_LinkListInit(lPtr);
29 }
30
31
32 void
Tix_SimpleListAppend(lPtr,itemPtr,flags)33 Tix_SimpleListAppend(lPtr, itemPtr, flags)
34 Tix_LinkList * lPtr;
35 char * itemPtr;
36 int flags;
37 {
38 Tix_LinkListAppend(&simpleListInfo, lPtr, itemPtr, flags);
39 }
40
Tix_SimpleListIteratorInit(liPtr)41 void Tix_SimpleListIteratorInit(liPtr)
42 Tix_ListIterator * liPtr;
43 {
44 Tix_LinkListIteratorInit(liPtr);
45 }
46
Tix_SimpleListStart(lPtr,liPtr)47 void Tix_SimpleListStart(lPtr, liPtr)
48 Tix_LinkList * lPtr;
49 Tix_ListIterator * liPtr;
50 {
51 Tix_LinkListStart(&simpleListInfo, lPtr, liPtr);
52 }
53
Tix_SimpleListNext(lPtr,liPtr)54 void Tix_SimpleListNext(lPtr, liPtr)
55 Tix_LinkList * lPtr;
56 Tix_ListIterator * liPtr;
57 {
58 Tix_LinkListNext(&simpleListInfo, lPtr, liPtr);
59 }
60
61 /*
62 * To delete consecutive elements, you must delete, next, delete, next ...
63 */
Tix_SimpleListDelete(lPtr,liPtr)64 void Tix_SimpleListDelete(lPtr, liPtr)
65 Tix_LinkList * lPtr;
66 Tix_ListIterator * liPtr;
67 {
68 Tix_LinkListDelete(&simpleListInfo, lPtr, liPtr);
69 }
70
71 /*----------------------------------------------------------------------
72 * Tix_SimpleListInsert --
73 *
74 * Insert the item at the position indicated by liPtr
75 *----------------------------------------------------------------------
76 */
Tix_SimpleListInsert(lPtr,itemPtr,liPtr)77 void Tix_SimpleListInsert(lPtr, itemPtr, liPtr)
78 Tix_LinkList * lPtr;
79 char * itemPtr;
80 Tix_ListIterator * liPtr;
81 {
82 Tix_LinkListInsert(&simpleListInfo, lPtr, itemPtr, liPtr);
83 }
84
85 /*----------------------------------------------------------------------
86 * Tix_SimpleListFindAndDelete --
87 *
88 * Find an element and delete it.
89 *
90 * liPtr:
91 * Can be zero.
92 * If non-zero, the search will start from the current entry indexed
93 * by liPtr;
94 *
95 * Return value:
96 * 1 if element is found and deleted
97 * 0 if element is not found
98 *----------------------------------------------------------------------
99 */
Tix_SimpleListFindAndDelete(lPtr,itemPtr,liPtr)100 int Tix_SimpleListFindAndDelete(lPtr, itemPtr, liPtr)
101 Tix_LinkList * lPtr;
102 char * itemPtr;
103 Tix_ListIterator * liPtr;
104 {
105 return Tix_LinkListFindAndDelete(&simpleListInfo, lPtr, itemPtr, liPtr);
106 }
107
Tix_SimpleListDeleteRange(lPtr,fromPtr,toPtr,liPtr)108 int Tix_SimpleListDeleteRange(lPtr, fromPtr, toPtr, liPtr)
109 Tix_LinkList * lPtr;
110 char * fromPtr;
111 char * toPtr;
112 Tix_ListIterator * liPtr;
113 {
114 return Tix_LinkListDeleteRange(&simpleListInfo, lPtr,
115 fromPtr, toPtr, liPtr);
116 }
117
Tix_SimpleListFind(lPtr,itemPtr,liPtr)118 int Tix_SimpleListFind(lPtr, itemPtr, liPtr)
119 Tix_LinkList * lPtr;
120 char * itemPtr;
121 Tix_ListIterator * liPtr;
122 {
123 return Tix_LinkListFind(&simpleListInfo, lPtr, itemPtr, liPtr);
124 }
125