summaryrefslogtreecommitdiff
path: root/amiga/object.c
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2015-08-05 23:42:20 +0100
committerChris Young <chris@unsatisfactorysoftware.co.uk>2015-08-05 23:42:20 +0100
commitf4903743baa616e39aefdab2d2b9920cb7a348fe (patch)
tree286983218cf2e8e63c92d247d469897a187dc050 /amiga/object.c
parentef5ce5c2f609b47d2c59fbcb76cc88ae4c595445 (diff)
downloadnetsurf-f4903743baa616e39aefdab2d2b9920cb7a348fe.tar.gz
netsurf-f4903743baa616e39aefdab2d2b9920cb7a348fe.tar.bz2
Abstract all instances of NewMinList as it causes alert 80000006 on OS3
Diffstat (limited to 'amiga/object.c')
-rwxr-xr-xamiga/object.c29
1 files changed, 21 insertions, 8 deletions
diff --git a/amiga/object.c b/amiga/object.c
index 16e14d46f..4af924734 100755
--- a/amiga/object.c
+++ b/amiga/object.c
@@ -29,25 +29,38 @@
#include "amiga/misc.h"
#include "amiga/object.h"
-#include "utils/log.h"
-
#ifdef __amigaos4__
+#define nsList MinList
#define NewnsList NewMinList
#else
+#define nsList List
#define NewnsList NewList
#endif
+/****/
-struct nsList *NewObjList(void)
+/* Slightly abstract MinList initialisation */
+void ami_NewMinList(struct MinList *list)
{
- struct nsList *objlist = (struct nsList *)AllocVecTagList(sizeof(struct nsList), NULL);
- if(objlist == NULL) return NULL;
+ if(list == NULL) return;
+ NewnsList((struct nsList *)list);
+}
- NewnsList(objlist);
+/* Allocate and initialise a new MinList */
+struct MinList *ami_AllocMinList(void)
+{
+ struct MinList *objlist = (struct MinList *)AllocVecTagList(sizeof(struct nsList), NULL);
+ if(objlist == NULL) return NULL;
+ ami_NewMinList(objlist);
+ return objlist;
+}
+struct MinList *NewObjList(void)
+{
+ struct MinList *objlist = ami_AllocMinList();
return(objlist);
}
-struct nsObject *AddObject(struct nsList *objlist, ULONG otype)
+struct nsObject *AddObject(struct MinList *objlist, ULONG otype)
{
struct nsObject *dtzo;
@@ -81,7 +94,7 @@ void DelObjectNoFree(struct nsObject *dtzo)
DelObjectInternal(dtzo, FALSE);
}
-void FreeObjList(struct nsList *objlist)
+void FreeObjList(struct MinList *objlist)
{
struct nsObject *node;
struct nsObject *nnode;