sdk: Fixed many warnings and related problems
[sdk] / compiler / bootstrap / ecere / bootstrap / OldList.c
1 /* Code generated from eC source file: OldList.ec */
2 #if defined(__GNUC__)
3 typedef long long int64;
4 typedef unsigned long long uint64;
5 #ifndef _WIN32
6 #define __declspec(x)
7 #endif
8 #elif defined(__TINYC__)
9 #include <stdarg.h>
10 #define __builtin_va_list va_list
11 #define __builtin_va_start va_start
12 #define __builtin_va_end va_end
13 #ifdef _WIN32
14 #define strcasecmp stricmp
15 #define strncasecmp strnicmp
16 #define __declspec(x) __attribute__((x))
17 #else
18 #define __declspec(x)
19 #endif
20 typedef long long int64;
21 typedef unsigned long long uint64;
22 #else
23 typedef __int64 int64;
24 typedef unsigned __int64 uint64;
25 #endif
26 #ifdef __BIG_ENDIAN__
27 #define __ENDIAN_PAD(x) (8 - (x))
28 #else
29 #define __ENDIAN_PAD(x) 0
30 #endif
31 #include <stdint.h>
32 #include <sys/types.h>
33
34 #if /*defined(_W64) || */(defined(__WORDSIZE) && __WORDSIZE == 8) || defined(__x86_64__)
35 #define _64BIT 1
36 #else
37 #define _64BIT 0
38 #endif
39
40 #define arch_PointerSize                  sizeof(void *)
41 #define structSize_Instance               (_64BIT ? 24 : 12)
42
43 struct __ecereNameSpace__ecere__com__Instance;
44
45 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
46
47 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
48
49 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew(void *  memory, unsigned int size);
50
51 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew0(void *  memory, unsigned int size);
52
53 extern void __ecereNameSpace__ecere__com__eSystem_Delete(void *  memory);
54
55 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BTNode;
56
57 struct __ecereNameSpace__ecere__sys__BTNode;
58
59 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BinaryTree;
60
61 struct __ecereNameSpace__ecere__sys__BinaryTree
62 {
63 struct __ecereNameSpace__ecere__sys__BTNode * root;
64 int count;
65 int (*  CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
66 void (*  FreeKey)(void *  key);
67 } __attribute__ ((gcc_struct));
68
69 struct __ecereNameSpace__ecere__sys__OldList
70 {
71 void * first, * last;
72 int count;
73 unsigned int offset;
74 unsigned int circ;
75 } __attribute__ ((gcc_struct));
76
77 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__OldList;
78
79 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
80
81 struct __ecereNameSpace__ecere__com__Class
82 {
83 struct __ecereNameSpace__ecere__com__Class * prev;
84 struct __ecereNameSpace__ecere__com__Class * next;
85 const char *  name;
86 int offset;
87 int structSize;
88 int (* *  _vTbl)();
89 int vTblSize;
90 int (*  Constructor)(struct __ecereNameSpace__ecere__com__Instance *);
91 void (*  Destructor)(struct __ecereNameSpace__ecere__com__Instance *);
92 int offsetClass;
93 int sizeClass;
94 struct __ecereNameSpace__ecere__com__Class * base;
95 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
96 struct __ecereNameSpace__ecere__sys__BinaryTree members;
97 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
98 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
99 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
100 struct __ecereNameSpace__ecere__sys__OldList derivatives;
101 int memberID;
102 int startMemberID;
103 int type;
104 struct __ecereNameSpace__ecere__com__Instance * module;
105 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
106 const char *  dataTypeString;
107 struct __ecereNameSpace__ecere__com__Instance * dataType;
108 int typeSize;
109 int defaultAlignment;
110 void (*  Initialize)();
111 int memberOffset;
112 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
113 const char *  designerClass;
114 unsigned int noExpansion;
115 const char *  defaultProperty;
116 unsigned int comRedefinition;
117 int count;
118 int isRemote;
119 unsigned int internalDecl;
120 void *  data;
121 unsigned int computeSize;
122 int structAlignment;
123 int destructionWatchOffset;
124 unsigned int fixed;
125 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
126 int inheritanceAccess;
127 const char *  fullName;
128 void *  symbol;
129 struct __ecereNameSpace__ecere__sys__OldList conversions;
130 struct __ecereNameSpace__ecere__sys__OldList templateParams;
131 struct __ecereNameSpace__ecere__com__ClassTemplateArgument *  templateArgs;
132 struct __ecereNameSpace__ecere__com__Class * templateClass;
133 struct __ecereNameSpace__ecere__sys__OldList templatized;
134 int numParams;
135 unsigned int isInstanceClass;
136 unsigned int byValueSystemClass;
137 } __attribute__ ((gcc_struct));
138
139 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
140
141 extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
142
143 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
144
145 struct __ecereNameSpace__ecere__com__Property
146 {
147 struct __ecereNameSpace__ecere__com__Property * prev;
148 struct __ecereNameSpace__ecere__com__Property * next;
149 const char *  name;
150 unsigned int isProperty;
151 int memberAccess;
152 int id;
153 struct __ecereNameSpace__ecere__com__Class * _class;
154 const char *  dataTypeString;
155 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
156 struct __ecereNameSpace__ecere__com__Instance * dataType;
157 void (*  Set)(void * , int);
158 int (*  Get)(void * );
159 unsigned int (*  IsSet)(void * );
160 void *  data;
161 void *  symbol;
162 int vid;
163 unsigned int conversion;
164 unsigned int watcherOffset;
165 const char *  category;
166 unsigned int compiled;
167 unsigned int selfWatchable;
168 unsigned int isWatchable;
169 } __attribute__ ((gcc_struct));
170
171 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
172
173 extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
174
175 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
176
177 extern void __ecereNameSpace__ecere__com__eInstance_StopWatching(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property, struct __ecereNameSpace__ecere__com__Instance * object);
178
179 extern void __ecereNameSpace__ecere__com__eInstance_Watch(void *  instance, struct __ecereNameSpace__ecere__com__Property * _property, void *  object, void (*  callback)(void * , void * ));
180
181 extern void __ecereNameSpace__ecere__com__eInstance_FireWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
182
183 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Instance;
184
185 struct __ecereNameSpace__ecere__com__Instance
186 {
187 int (* *  _vTbl)();
188 struct __ecereNameSpace__ecere__com__Class * _class;
189 int _refCount;
190 } __attribute__ ((gcc_struct));
191
192 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataMember;
193
194 struct __ecereNameSpace__ecere__com__DataMember
195 {
196 struct __ecereNameSpace__ecere__com__DataMember * prev;
197 struct __ecereNameSpace__ecere__com__DataMember * next;
198 const char *  name;
199 unsigned int isProperty;
200 int memberAccess;
201 int id;
202 struct __ecereNameSpace__ecere__com__Class * _class;
203 const char *  dataTypeString;
204 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
205 struct __ecereNameSpace__ecere__com__Instance * dataType;
206 int type;
207 int offset;
208 int memberID;
209 struct __ecereNameSpace__ecere__sys__OldList members;
210 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
211 int memberOffset;
212 int structAlignment;
213 } __attribute__ ((gcc_struct));
214
215 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Method;
216
217 struct __ecereNameSpace__ecere__com__Method
218 {
219 const char *  name;
220 struct __ecereNameSpace__ecere__com__Method * parent;
221 struct __ecereNameSpace__ecere__com__Method * left;
222 struct __ecereNameSpace__ecere__com__Method * right;
223 int depth;
224 int (*  function)();
225 int vid;
226 int type;
227 struct __ecereNameSpace__ecere__com__Class * _class;
228 void *  symbol;
229 const char *  dataTypeString;
230 struct __ecereNameSpace__ecere__com__Instance * dataType;
231 int memberAccess;
232 } __attribute__ ((gcc_struct));
233
234 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__SerialBuffer;
235
236 struct __ecereNameSpace__ecere__com__SerialBuffer
237 {
238 unsigned char *  _buffer;
239 unsigned int count;
240 unsigned int _size;
241 unsigned int pos;
242 } __attribute__ ((gcc_struct));
243
244 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataValue;
245
246 struct __ecereNameSpace__ecere__com__DataValue
247 {
248 union
249 {
250 char c;
251 unsigned char uc;
252 short s;
253 unsigned short us;
254 int i;
255 unsigned int ui;
256 void *  p;
257 float f;
258 double d;
259 long long i64;
260 uint64 ui64;
261 } __attribute__ ((gcc_struct)) __anon1;
262 } __attribute__ ((gcc_struct));
263
264 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
265
266 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
267 {
268 union
269 {
270 struct
271 {
272 const char *  dataTypeString;
273 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
274 } __attribute__ ((gcc_struct)) __anon1;
275 struct __ecereNameSpace__ecere__com__DataValue expression;
276 struct
277 {
278 const char *  memberString;
279 union
280 {
281 struct __ecereNameSpace__ecere__com__DataMember * member;
282 struct __ecereNameSpace__ecere__com__Property * prop;
283 struct __ecereNameSpace__ecere__com__Method * method;
284 } __attribute__ ((gcc_struct)) __anon1;
285 } __attribute__ ((gcc_struct)) __anon2;
286 } __attribute__ ((gcc_struct)) __anon1;
287 } __attribute__ ((gcc_struct));
288
289 struct __ecereNameSpace__ecere__sys__Item
290 {
291 struct __ecereNameSpace__ecere__sys__Item * prev, * next;
292 } __attribute__ ((gcc_struct));
293
294 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__Item;
295
296 extern void *  memcpy(void * , const void * , size_t size);
297
298 void __ecereMethod___ecereNameSpace__ecere__sys__Item_Copy(struct __ecereNameSpace__ecere__sys__Item * this, struct __ecereNameSpace__ecere__sys__Item * src, int size)
299 {
300 memcpy((unsigned char *)this + sizeof(struct __ecereNameSpace__ecere__sys__Item), (unsigned char *)src + sizeof(struct __ecereNameSpace__ecere__sys__Item), size - sizeof(struct __ecereNameSpace__ecere__sys__Item *));
301 }
302
303 struct __ecereNameSpace__ecere__sys__NamedItem
304 {
305 struct __ecereNameSpace__ecere__sys__NamedItem * prev, * next;
306 char * name;
307 } __attribute__ ((gcc_struct));
308
309 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__NamedItem;
310
311 struct __ecereNameSpace__ecere__sys__OldLink
312 {
313 struct __ecereNameSpace__ecere__sys__OldLink * prev, * next;
314 void * data;
315 } __attribute__ ((gcc_struct));
316
317 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__OldLink;
318
319 void __ecereMethod___ecereNameSpace__ecere__sys__OldLink_Free(struct __ecereNameSpace__ecere__sys__OldLink * this)
320 {
321 (__ecereNameSpace__ecere__com__eSystem_Delete(this->data), this->data = 0);
322 }
323
324 struct __ecereNameSpace__ecere__sys__NamedLink
325 {
326 struct __ecereNameSpace__ecere__sys__NamedLink * prev, * next;
327 char * name;
328 void * data;
329 } __attribute__ ((gcc_struct));
330
331 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__NamedLink;
332
333 struct __ecereNameSpace__ecere__sys__NamedLink64
334 {
335 struct __ecereNameSpace__ecere__sys__NamedLink64 * prev, * next;
336 char * name;
337 long long data;
338 } __attribute__ ((gcc_struct));
339
340 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__NamedLink64;
341
342 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Clear(struct __ecereNameSpace__ecere__sys__OldList * this);
343
344 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(struct __ecereNameSpace__ecere__sys__OldList * this, void *  item);
345
346 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(struct __ecereNameSpace__ecere__sys__OldList * this, void *  item);
347
348 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Merge(struct __ecereNameSpace__ecere__sys__OldList * this, struct __ecereNameSpace__ecere__sys__OldList * list1, struct __ecereNameSpace__ecere__sys__OldList * list2, int (* compare)(void *, void *, void *), void * data)
349 {
350 void * item;
351
352 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Clear(this);
353 this->offset = list1->offset;
354 while((list1->first && list2->first))
355 {
356 if(compare(list1->first, list2->first, data) <= 0)
357 {
358 item = list1->first;
359 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(list1, item);
360 }
361 else
362 {
363 item = list2->first;
364 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(list2, item);
365 }
366 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(this, item);
367 }
368 while((item = list1->first))
369 {
370 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(list1, item);
371 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(this, item);
372 }
373 while((item = list2->first))
374 {
375 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(list2, item);
376 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(this, item);
377 }
378 }
379
380 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(struct __ecereNameSpace__ecere__sys__OldList * this, void * item)
381 {
382 if(item)
383 {
384 struct __ecereNameSpace__ecere__sys__Item * link = (struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)item + this->offset);
385
386 link->prev = this->last;
387 if(link->prev)
388 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)link->prev + this->offset))->next = item;
389 if(!this->first)
390 this->first = item;
391 this->last = item;
392 link->next = this->circ ? this->first : (((void *)0));
393 if(this->circ)
394 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)this->first + this->offset))->prev = item;
395 this->count++;
396 }
397 }
398
399 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert(struct __ecereNameSpace__ecere__sys__OldList * this, void * prevItem, void * item)
400 {
401 if(item && prevItem != item)
402 {
403 struct __ecereNameSpace__ecere__sys__Item * prevLink = (struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)prevItem + this->offset);
404 struct __ecereNameSpace__ecere__sys__Item * link = (struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)item + this->offset);
405
406 link->prev = prevItem ? prevItem : (this->circ ? this->last : (((void *)0)));
407 if(prevItem)
408 {
409 link->next = prevLink->next;
410 prevLink->next = item;
411 }
412 else
413 {
414 link->next = this->first;
415 this->first = item;
416 if(this->circ)
417 {
418 if(link->prev)
419 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)link->prev + this->offset))->next = item;
420 else
421 link->next = item;
422 }
423 }
424 if(prevItem == this->last)
425 this->last = item;
426 if(link->next)
427 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)link->next + this->offset))->prev = item;
428 this->count++;
429 return 0x1;
430 }
431 return 0x0;
432 }
433
434 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(struct __ecereNameSpace__ecere__sys__OldList * this, void * item)
435 {
436 if(item)
437 {
438 struct __ecereNameSpace__ecere__sys__Item * link = (struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)item + this->offset);
439
440 if(link->prev)
441 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)link->prev + this->offset))->next = link->next;
442 if(link->next)
443 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)link->next + this->offset))->prev = link->prev;
444 if(this->circ && this->last == this->first)
445 this->last = this->first = (((void *)0));
446 else
447 {
448 if(this->last == item)
449 this->last = link->prev;
450 if(this->first == item)
451 this->first = link->next;
452 }
453 link->prev = (((void *)0));
454 link->next = (((void *)0));
455 this->count--;
456 }
457 }
458
459 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Delete(struct __ecereNameSpace__ecere__sys__OldList * this, void * item)
460 {
461 if(item)
462 {
463 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(this, item);
464 (__ecereNameSpace__ecere__com__eSystem_Delete(item), item = 0);
465 }
466 }
467
468 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Free(struct __ecereNameSpace__ecere__sys__OldList * this, void (* freeFn)(void *))
469 {
470 void * item, * next;
471
472 for(item = this->first; item; item = next)
473 {
474 struct __ecereNameSpace__ecere__sys__Item * link = (struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)item + this->offset);
475
476 next = link->next;
477 if(freeFn)
478 freeFn(item);
479 (__ecereNameSpace__ecere__com__eSystem_Delete(item), item = 0);
480 if(next == this->first)
481 break;
482 }
483 this->first = this->last = (((void *)0));
484 this->count = 0;
485 }
486
487 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_RemoveAll(struct __ecereNameSpace__ecere__sys__OldList * this, void (* freeFn)(void *))
488 {
489 void * item, * next;
490
491 for(item = this->first; item; item = next)
492 {
493 struct __ecereNameSpace__ecere__sys__Item * link = (struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)item + this->offset);
494
495 next = link->next;
496 if(freeFn)
497 freeFn(item);
498 if(next == this->first)
499 break;
500 }
501 this->first = this->last = (((void *)0));
502 this->count = 0;
503 }
504
505 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Clear(struct __ecereNameSpace__ecere__sys__OldList * this)
506 {
507 this->offset = 0;
508 this->circ = 0x0;
509 this->count = 0;
510 this->first = this->last = (((void *)0));
511 }
512
513 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Move(struct __ecereNameSpace__ecere__sys__OldList * this, void * item, void * prevItem)
514 {
515 if(item)
516 {
517 struct __ecereNameSpace__ecere__sys__Item * link = (struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)item + this->offset);
518 struct __ecereNameSpace__ecere__sys__Item * prevLink = (struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)prevItem + this->offset);
519
520 if(prevItem != item && (this->first != item || prevItem))
521 {
522 if(link->prev)
523 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)link->prev + this->offset))->next = link->next;
524 if(link->next)
525 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)link->next + this->offset))->prev = link->prev;
526 if(item == this->first)
527 this->first = link->next;
528 if(item == this->last)
529 this->last = link->prev;
530 if(prevItem == this->last)
531 this->last = item;
532 link->prev = prevItem ? prevItem : (this->circ ? this->last : (((void *)0)));
533 if(prevItem)
534 {
535 link->next = prevLink->next;
536 prevLink->next = item;
537 }
538 else
539 {
540 link->next = this->first;
541 this->first = item;
542 if(this->circ)
543 {
544 if(link->prev)
545 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)link->prev + this->offset))->next = item;
546 else
547 link->next = item;
548 }
549 }
550 if(link->next)
551 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)link->next + this->offset))->prev = item;
552 }
553 }
554 }
555
556 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Swap(struct __ecereNameSpace__ecere__sys__OldList * this, void * item1, void * item2)
557 {
558 struct __ecereNameSpace__ecere__sys__Item * link1 = (struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)item1 + this->offset);
559 struct __ecereNameSpace__ecere__sys__Item * link2 = (struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)item2 + this->offset);
560 struct __ecereNameSpace__ecere__sys__Item * prev1 = link1->prev, * next1 = link1->next;
561 void * tmp1 = item1, * tmp2 = item2;
562
563 link1->prev = link2->prev;
564 link1->next = link2->next;
565 link2->prev = prev1;
566 link2->next = next1;
567 if(this->first == tmp1)
568 this->first = item2;
569 else if(this->first == tmp2)
570 this->first = item1;
571 if(this->last == tmp1)
572 this->last = item1;
573 else if(this->last == tmp2)
574 this->last = item2;
575 if(link1->next)
576 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)link1->next + this->offset))->prev = item2;
577 if(link1->prev)
578 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)link1->prev + this->offset))->next = item2;
579 if(link2->next)
580 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)link2->next + this->offset))->prev = item1;
581 if(link2->prev)
582 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)link2->prev + this->offset))->next = item1;
583 }
584
585 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Sort(struct __ecereNameSpace__ecere__sys__OldList * this, int (* compare)(void *, void *, void *), void * data)
586 {
587 if(this->first && ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)this->first + this->offset))->next)
588 {
589 struct __ecereNameSpace__ecere__sys__OldList list1, list2;
590 void * middle, * end;
591
592 for(middle = this->first, list1.count = 0, list2.count = 0, end = ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)this->first + this->offset))->next; middle && end; middle = ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)middle + this->offset))->next, list1.count++, end = ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)end + this->offset))->next, list2.count++)
593 {
594 end = ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)end + this->offset))->next;
595 if(!end)
596 break;
597 }
598 list1.offset = this->offset;
599 list2.offset = this->offset;
600 list1.circ = this->circ;
601 list2.circ = this->circ;
602 list1.first = this->first;
603 list1.last = middle;
604 list2.first = ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)middle + this->offset))->next;
605 list2.last = this->last;
606 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)list1.last + this->offset))->next = (((void *)0));
607 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)list2.first + this->offset))->prev = (((void *)0));
608 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Sort(&list1, compare, data);
609 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Sort(&list2, compare, data);
610 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Merge(this, &list1, &list2, compare, data);
611 }
612 }
613
614 extern int strcmp(const char * , const char * );
615
616 void * __ecereMethod___ecereNameSpace__ecere__sys__OldList_FindName(struct __ecereNameSpace__ecere__sys__OldList * this, const char * name, unsigned int warn)
617 {
618 void * result = (((void *)0));
619
620 if(name)
621 {
622 void * item;
623 struct __ecereNameSpace__ecere__sys__NamedItem * link;
624 int compare = 1;
625
626 for(item = this->first; item; item = link->next)
627 {
628 link = (struct __ecereNameSpace__ecere__sys__NamedItem *)(((unsigned char *)item) + this->offset);
629 if(link->name && (compare = strcmp(link->name, name)) >= 0)
630 break;
631 }
632 if(!compare)
633 result = item;
634 else if(warn)
635 ;
636 }
637 return result;
638 }
639
640 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__OldList_PlaceName(struct __ecereNameSpace__ecere__sys__OldList * this, const char * name, void ** place)
641 {
642 unsigned int result = 0x1;
643 void * item;
644 struct __ecereNameSpace__ecere__sys__NamedItem * link;
645 int compare = 1;
646
647 for(item = this->first; item; item = link->next)
648 {
649 link = (struct __ecereNameSpace__ecere__sys__NamedItem *)((unsigned char *)item + this->offset);
650 if(link->name && (compare = strcmp(link->name, name)) >= 0)
651 break;
652 }
653 if(!item)
654 *place = this->last;
655 else
656 *place = link->prev;
657 if(compare)
658 result = 0x1;
659 else
660 ;
661 return result;
662 }
663
664 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__OldList_AddName(struct __ecereNameSpace__ecere__sys__OldList * this, void * item)
665 {
666 unsigned int result = 0x0;
667 void * place;
668 struct __ecereNameSpace__ecere__sys__NamedItem * link = ((struct __ecereNameSpace__ecere__sys__NamedItem *)((unsigned char *)item + this->offset));
669
670 if(__ecereMethod___ecereNameSpace__ecere__sys__OldList_PlaceName(this, link->name, &place))
671 {
672 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert(this, place, item);
673 result = 0x1;
674 }
675 return result;
676 }
677
678 struct __ecereNameSpace__ecere__sys__OldLink * __ecereMethod___ecereNameSpace__ecere__sys__OldList_FindLink(struct __ecereNameSpace__ecere__sys__OldList * this, void * data)
679 {
680 void * item;
681 struct __ecereNameSpace__ecere__sys__OldLink * link;
682
683 for(item = this->first; item; item = link->next)
684 {
685 link = (struct __ecereNameSpace__ecere__sys__OldLink *)((unsigned char *)item + this->offset);
686 if(link->data == data)
687 break;
688 }
689 return item;
690 }
691
692 void * __ecereMethod___ecereNameSpace__ecere__sys__OldList_FindNamedLink(struct __ecereNameSpace__ecere__sys__OldList * this, const char * name, unsigned int warn)
693 {
694 if(name)
695 {
696 void * item = __ecereMethod___ecereNameSpace__ecere__sys__OldList_FindName(this, name, warn);
697
698 return item ? ((struct __ecereNameSpace__ecere__sys__NamedLink *)((unsigned char *)item + this->offset))->data : (((void *)0));
699 }
700 return (((void *)0));
701 }
702
703 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Copy(struct __ecereNameSpace__ecere__sys__OldList * this, struct __ecereNameSpace__ecere__sys__OldList * src, int size, void (* copy)(void * dest, void * src))
704 {
705 struct __ecereNameSpace__ecere__sys__Item * item;
706
707 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Clear(this);
708 for(item = src->first; item; item = item->next)
709 {
710 struct __ecereNameSpace__ecere__sys__Item * newItem = (struct __ecereNameSpace__ecere__sys__Item *)__ecereNameSpace__ecere__com__eSystem_New0(sizeof(unsigned char) * (size));
711
712 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(this, newItem);
713 __ecereMethod___ecereNameSpace__ecere__sys__Item_Copy(newItem, item, size);
714 if(copy)
715 copy(newItem, item);
716 }
717 }
718
719 extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
720
721 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
722
723 struct __ecereNameSpace__ecere__com__NameSpace
724 {
725 const char *  name;
726 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
727 struct __ecereNameSpace__ecere__com__NameSpace *  left;
728 struct __ecereNameSpace__ecere__com__NameSpace *  right;
729 int depth;
730 struct __ecereNameSpace__ecere__com__NameSpace *  parent;
731 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
732 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
733 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
734 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
735 } __attribute__ ((gcc_struct));
736
737 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Module;
738
739 struct __ecereNameSpace__ecere__com__Module
740 {
741 struct __ecereNameSpace__ecere__com__Instance * application;
742 struct __ecereNameSpace__ecere__sys__OldList classes;
743 struct __ecereNameSpace__ecere__sys__OldList defines;
744 struct __ecereNameSpace__ecere__sys__OldList functions;
745 struct __ecereNameSpace__ecere__sys__OldList modules;
746 struct __ecereNameSpace__ecere__com__Instance * prev;
747 struct __ecereNameSpace__ecere__com__Instance * next;
748 const char *  name;
749 void *  library;
750 void *  Unload;
751 int importType;
752 int origImportType;
753 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
754 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
755 } __attribute__ ((gcc_struct));
756
757 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
758
759 extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
760
761 extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, unsigned int size, unsigned int alignment, int declMode);
762
763 void __ecereRegisterModule_OldList(struct __ecereNameSpace__ecere__com__Instance * module)
764 {
765 struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
766
767 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(5, "ecere::sys::Item", 0, sizeof(struct __ecereNameSpace__ecere__sys__Item), 0, 0, 0, module, 4, 1);
768 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
769 __ecereClass___ecereNameSpace__ecere__sys__Item = class;
770 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Copy", "void Copy(ecere::sys::Item src, int size)", __ecereMethod___ecereNameSpace__ecere__sys__Item_Copy, 1);
771 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "prev", "ecere::sys::Item", arch_PointerSize, arch_PointerSize, 1);
772 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "next", "ecere::sys::Item", arch_PointerSize, arch_PointerSize, 1);
773 if(class)
774 class->fixed = (unsigned int)1;
775 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(5, "ecere::sys::NamedItem", 0, sizeof(struct __ecereNameSpace__ecere__sys__NamedItem), 0, 0, 0, module, 4, 1);
776 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
777 __ecereClass___ecereNameSpace__ecere__sys__NamedItem = class;
778 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "prev", "ecere::sys::NamedItem", arch_PointerSize, arch_PointerSize, 1);
779 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "next", "ecere::sys::NamedItem", arch_PointerSize, arch_PointerSize, 1);
780 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "name", "char *", arch_PointerSize, arch_PointerSize, 1);
781 if(class)
782 class->fixed = (unsigned int)1;
783 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(5, "ecere::sys::OldLink", 0, sizeof(struct __ecereNameSpace__ecere__sys__OldLink), 0, 0, 0, module, 4, 1);
784 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
785 __ecereClass___ecereNameSpace__ecere__sys__OldLink = class;
786 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Free", "void Free()", __ecereMethod___ecereNameSpace__ecere__sys__OldLink_Free, 1);
787 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "prev", "ecere::sys::OldLink", arch_PointerSize, arch_PointerSize, 1);
788 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "next", "ecere::sys::OldLink", arch_PointerSize, arch_PointerSize, 1);
789 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "data", "void *", arch_PointerSize, arch_PointerSize, 1);
790 if(class)
791 class->fixed = (unsigned int)1;
792 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(5, "ecere::sys::NamedLink", 0, sizeof(struct __ecereNameSpace__ecere__sys__NamedLink), 0, 0, 0, module, 4, 1);
793 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
794 __ecereClass___ecereNameSpace__ecere__sys__NamedLink = class;
795 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "prev", "ecere::sys::NamedLink", arch_PointerSize, arch_PointerSize, 1);
796 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "next", "ecere::sys::NamedLink", arch_PointerSize, arch_PointerSize, 1);
797 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "name", "char *", arch_PointerSize, arch_PointerSize, 1);
798 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "data", "void *", arch_PointerSize, arch_PointerSize, 1);
799 if(class)
800 class->fixed = (unsigned int)1;
801 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(5, "ecere::sys::NamedLink64", 0, sizeof(struct __ecereNameSpace__ecere__sys__NamedLink64), 0, 0, 0, module, 4, 1);
802 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
803 __ecereClass___ecereNameSpace__ecere__sys__NamedLink64 = class;
804 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "prev", "ecere::sys::NamedLink64", arch_PointerSize, arch_PointerSize, 1);
805 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "next", "ecere::sys::NamedLink64", arch_PointerSize, arch_PointerSize, 1);
806 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "name", "char *", arch_PointerSize, arch_PointerSize, 1);
807 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "data", "int64", 8, 8, 1);
808 if(class)
809 class->fixed = (unsigned int)1;
810 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(1, "ecere::sys::OldList", 0, sizeof(struct __ecereNameSpace__ecere__sys__OldList), 0, 0, 0, module, 4, 1);
811 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
812 __ecereClass___ecereNameSpace__ecere__sys__OldList = class;
813 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Add", "void Add(void * item)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add, 1);
814 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "AddName", "bool AddName(void * item)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_AddName, 1);
815 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Clear", "void Clear(void)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_Clear, 1);
816 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Copy", "void Copy(ecere::sys::OldList src, int size, void (* copy)(void * dest, void * src))", __ecereMethod___ecereNameSpace__ecere__sys__OldList_Copy, 1);
817 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Delete", "void Delete(void * item)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_Delete, 1);
818 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "FindLink", "ecere::sys::OldLink FindLink(void * data)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_FindLink, 1);
819 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "FindName", "void * FindName(const char * name, bool warn)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_FindName, 1);
820 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "FindNamedLink", "void * FindNamedLink(const char * name, bool warn)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_FindNamedLink, 1);
821 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Free", "void Free(void (* freeFn)(void *))", __ecereMethod___ecereNameSpace__ecere__sys__OldList_Free, 1);
822 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Insert", "bool Insert(void * prevItem, void * item)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert, 1);
823 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Move", "void Move(void * item, void * prevItem)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_Move, 1);
824 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "PlaceName", "bool PlaceName(const char * name, void ** place)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_PlaceName, 1);
825 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Remove", "void Remove(void * item)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove, 1);
826 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "RemoveAll", "void RemoveAll(void (* freeFn)(void *))", __ecereMethod___ecereNameSpace__ecere__sys__OldList_RemoveAll, 1);
827 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Sort", "void Sort(int (* compare)(void *, void *, void *), void * data)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_Sort, 1);
828 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Swap", "void Swap(void * item1, void * item2)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_Swap, 1);
829 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "first", "void *", arch_PointerSize, arch_PointerSize, 1);
830 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "last", "void *", arch_PointerSize, arch_PointerSize, 1);
831 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "count", "int", 4, 4, 1);
832 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "offset", "uint", 4, 4, 1);
833 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "circ", "bool", 4, 4, 1);
834 }
835
836 void __ecereUnregisterModule_OldList(struct __ecereNameSpace__ecere__com__Instance * module)
837 {
838
839 }
840