comparison xrogue/list.c @ 220:f54901b9c39b

XRogue: convert to ANSI-style function declarations.
author John "Elwin" Edwards
date Wed, 02 Mar 2016 21:13:26 -0500
parents ce0cf824c192
children 0250220d8cdd
comparison
equal deleted inserted replaced
219:f9ef86cf22b2 220:f54901b9c39b
19 #include <stdlib.h> 19 #include <stdlib.h>
20 #include <string.h> 20 #include <string.h>
21 #include <curses.h> 21 #include <curses.h>
22 #include "rogue.h" 22 #include "rogue.h"
23 23
24 void r_discard(struct linked_list *item);
25 void t_discard(struct linked_list *item);
26
24 /* 27 /*
25 * detach: 28 * detach:
26 * Takes an item out of whatever linked list it might be in 29 * Takes an item out of whatever linked list it might be in
27 */ 30 */
28 31
29 _detach(list, item) 32 void
30 register struct linked_list **list, *item; 33 _detach(struct linked_list **list, struct linked_list *item)
31 { 34 {
32 if (*list == item) 35 if (*list == item)
33 *list = next(item); 36 *list = next(item);
34 if (prev(item) != NULL) item->l_prev->l_next = next(item); 37 if (prev(item) != NULL) item->l_prev->l_next = next(item);
35 if (next(item) != NULL) item->l_next->l_prev = prev(item); 38 if (next(item) != NULL) item->l_next->l_prev = prev(item);
40 /* 43 /*
41 * _attach: 44 * _attach:
42 * add an item to the head of a list 45 * add an item to the head of a list
43 */ 46 */
44 47
45 _attach(list, item) 48 void
46 register struct linked_list **list, *item; 49 _attach(struct linked_list **list, struct linked_list *item)
47 { 50 {
48 if (*list != NULL) 51 if (*list != NULL)
49 { 52 {
50 item->l_next = *list; 53 item->l_next = *list;
51 (*list)->l_prev = item; 54 (*list)->l_prev = item;
63 /* 66 /*
64 * o_free_list: 67 * o_free_list:
65 * Throw the whole object list away 68 * Throw the whole object list away
66 */ 69 */
67 70
68 _o_free_list(ptr) 71 void
69 register struct linked_list **ptr; 72 _o_free_list(struct linked_list **ptr)
70 { 73 {
71 register struct linked_list *item; 74 register struct linked_list *item;
72 75
73 while (*ptr != NULL) 76 while (*ptr != NULL)
74 { 77 {
81 /* 84 /*
82 * o_discard: 85 * o_discard:
83 * free up an item and its object(and maybe contents) 86 * free up an item and its object(and maybe contents)
84 */ 87 */
85 88
86 o_discard(item) 89 void
87 register struct linked_list *item; 90 o_discard(struct linked_list *item)
88 { 91 {
89 register struct object *obj; 92 register struct object *obj;
90 93
91 obj = OBJPTR(item); 94 obj = OBJPTR(item);
92 if (obj->contents != NULL) 95 if (obj->contents != NULL)
100 r_free_fire_list 103 r_free_fire_list
101 Throw the whole list of fire monsters away. But don't 104 Throw the whole list of fire monsters away. But don't
102 discard the item (monster) itself as that belong to mlist. 105 discard the item (monster) itself as that belong to mlist.
103 */ 106 */
104 107
105 _r_free_fire_list(ptr) 108 void
106 register struct linked_list **ptr; 109 _r_free_fire_list(struct linked_list **ptr)
107 { 110 {
108 register struct linked_list *item; 111 register struct linked_list *item;
109 112
110 while (*ptr != NULL) 113 while (*ptr != NULL)
111 { 114 {
117 /* 120 /*
118 * r_free_list: 121 * r_free_list:
119 * Throw the whole list of room exits away 122 * Throw the whole list of room exits away
120 */ 123 */
121 124
122 _r_free_list(ptr) 125 void
123 register struct linked_list **ptr; 126 _r_free_list(struct linked_list **ptr)
124 { 127 {
125 register struct linked_list *item; 128 register struct linked_list *item;
126 129
127 while (*ptr != NULL) 130 while (*ptr != NULL)
128 { 131 {
135 /* 138 /*
136 * r_discard: 139 * r_discard:
137 * free up an item and its room 140 * free up an item and its room
138 */ 141 */
139 142
140 r_discard(item) 143 void
141 register struct linked_list *item; 144 r_discard(struct linked_list *item)
142 { 145 {
143 total -= 2; 146 total -= 2;
144 FREE(DOORPTR(item)); 147 FREE(DOORPTR(item));
145 FREE(item); 148 FREE(item);
146 } 149 }
148 /* 151 /*
149 * t_free_list: 152 * t_free_list:
150 * Throw the whole thing list away 153 * Throw the whole thing list away
151 */ 154 */
152 155
153 _t_free_list(ptr) 156 void
154 register struct linked_list **ptr; 157 _t_free_list(struct linked_list **ptr)
155 { 158 {
156 register struct linked_list *item; 159 register struct linked_list *item;
157 160
158 while (*ptr != NULL) 161 while (*ptr != NULL)
159 { 162 {
166 /* 169 /*
167 * t_discard: 170 * t_discard:
168 * free up an item and its thing 171 * free up an item and its thing
169 */ 172 */
170 173
171 t_discard(item) 174 void
172 register struct linked_list *item; 175 t_discard(struct linked_list *item)
173 { 176 {
174 register struct thing *tp; 177 register struct thing *tp;
175 178
176 total -= 2; 179 total -= 2;
177 tp = THINGPTR(item); 180 tp = THINGPTR(item);
185 /* 188 /*
186 * destroy_item: 189 * destroy_item:
187 * get rid of an item structure -- don't worry about contents 190 * get rid of an item structure -- don't worry about contents
188 */ 191 */
189 192
190 destroy_item(item) 193 void
191 register struct linked_list *item; 194 destroy_item(struct linked_list *item)
192 { 195 {
193 total--; 196 total--;
194 FREE(item); 197 FREE(item);
195 } 198 }
196 199
198 * new_item 201 * new_item
199 * get a new item with a specified size 202 * get a new item with a specified size
200 */ 203 */
201 204
202 struct linked_list * 205 struct linked_list *
203 new_item(size) 206 new_item(int size)
204 int size;
205 { 207 {
206 register struct linked_list *item; 208 register struct linked_list *item;
207 209
208 if ((item = (struct linked_list *) new(sizeof *item)) == NULL) 210 if ((item = (struct linked_list *) new(sizeof *item)) == NULL)
209 msg("Ran out of memory for header after %d items", total); 211 msg("Ran out of memory for header after %d items", total);
218 * creat_item: 220 * creat_item:
219 * Create just an item structure -- don't make any contents 221 * Create just an item structure -- don't make any contents
220 */ 222 */
221 223
222 struct linked_list * 224 struct linked_list *
223 creat_item() 225 creat_item(void)
224 { 226 {
225 register struct linked_list *item; 227 register struct linked_list *item;
226 228
227 if ((item = (struct linked_list *) new(sizeof *item)) == NULL) 229 if ((item = (struct linked_list *) new(sizeof *item)) == NULL)
228 msg("Ran out of memory for header after %d items", total); 230 msg("Ran out of memory for header after %d items", total);
229 item->l_next = item->l_prev = NULL; 231 item->l_next = item->l_prev = NULL;
230 return item; 232 return item;
231 } 233 }
232 234
233 char * 235 char *
234 new(size) 236 new(int size)
235 int size;
236 { 237 {
237 register char *space = ALLOC(size); 238 register char *space = ALLOC(size);
238 239
239 if (space == NULL) { 240 if (space == NULL) {
240 sprintf(prbuf,"Rogue ran out of memory (used = %d, wanted = %d).", 241 sprintf(prbuf,"Rogue ran out of memory (used = %d, wanted = %d).",