diff options
-rwxr-xr-x | amiga/object.c | 23 | ||||
-rwxr-xr-x | amiga/object.h | 16 |
2 files changed, 30 insertions, 9 deletions
diff --git a/amiga/object.c b/amiga/object.c index 3ccd50b60..16e14d46f 100755 --- a/amiga/object.c +++ b/amiga/object.c @@ -29,14 +29,25 @@ #include "amiga/misc.h" #include "amiga/object.h" -struct MinList *NewObjList(void) +#include "utils/log.h" + +#ifdef __amigaos4__ +#define NewnsList NewMinList +#else +#define NewnsList NewList +#endif + +struct nsList *NewObjList(void) { - struct MinList *objlist = (struct MinList *)AllocVecTagList(sizeof(struct MinList), NULL); - NewMinList(objlist); + struct nsList *objlist = (struct nsList *)AllocVecTagList(sizeof(struct nsList), NULL); + if(objlist == NULL) return NULL; + + NewnsList(objlist); + return(objlist); } -struct nsObject *AddObject(struct MinList *objlist, ULONG otype) +struct nsObject *AddObject(struct nsList *objlist, ULONG otype) { struct nsObject *dtzo; @@ -70,12 +81,12 @@ void DelObjectNoFree(struct nsObject *dtzo) DelObjectInternal(dtzo, FALSE); } -void FreeObjList(struct MinList *objlist) +void FreeObjList(struct nsList *objlist) { struct nsObject *node; struct nsObject *nnode; - if(IsMinListEmpty(objlist)) return; + if(IsMinListEmpty((struct MinList *)objlist)) return; node = (struct nsObject *)GetHead((struct List *)objlist); do { diff --git a/amiga/object.h b/amiga/object.h index d5251f048..14d1ba416 100755 --- a/amiga/object.h +++ b/amiga/object.h @@ -46,10 +46,20 @@ struct nsObject ULONG objstruct_size; }; -struct MinList *NewObjList(void); -struct nsObject *AddObject(struct MinList *objlist, ULONG otype); +struct nsList +{ +#ifdef __amigaos4__ + struct MinList list; +#else + struct List list; +#endif +}; + +struct nsList *NewObjList(void); +struct nsObject *AddObject(struct nsList *objlist, ULONG otype); void DelObject(struct nsObject *dtzo); void DelObjectNoFree(struct nsObject *dtzo); -void FreeObjList(struct MinList *objlist); +void FreeObjList(struct nsList *objlist); #endif + |