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