diff --git a/Source/DOH/base.c b/Source/DOH/base.c index 5ac18039b..56cc8c701 100644 --- a/Source/DOH/base.c +++ b/Source/DOH/base.c @@ -230,6 +230,8 @@ DohFirst(DOH *obj) { iter.object = 0; iter.item = 0; iter.key = 0; + iter._current= 0; + iter._index = 0; return iter; } diff --git a/Source/DOH/dohint.h b/Source/DOH/dohint.h index 0c39aec7a..e105a440b 100644 --- a/Source/DOH/dohint.h +++ b/Source/DOH/dohint.h @@ -105,11 +105,11 @@ typedef struct { void *data; /* Data pointer */ DohObjInfo *type; void *meta; /* Meta data */ - int flag_intern : 1; /* Interned object */ - int flag_marked : 1; /* Mark flag. Used to avoid recursive loops in places */ - int flag_user : 1; /* User flag */ - int flag_usermark : 1; /* User marked */ - int refcount : 28; /* Reference count (max 16 million) */ + unsigned int flag_intern : 1; /* Interned object */ + unsigned int flag_marked : 1; /* Mark flag. Used to avoid recursive loops in places */ + unsigned int flag_user : 1; /* User flag */ + unsigned int flag_usermark : 1; /* User marked */ + unsigned int refcount : 28; /* Reference count (max 16 million) */ } DohBase; /* Macros for decrefing and increfing (safe for null objects). */ diff --git a/Source/DOH/list.c b/Source/DOH/list.c index 9c3ab2038..d6a9c95ac 100644 --- a/Source/DOH/list.c +++ b/Source/DOH/list.c @@ -199,6 +199,7 @@ List_first(DOH *lo) { List *l = (List *) ObjData(lo); iter.object = lo; iter._index = 0; + iter._current = 0; iter.key = 0; if (l->nitems > 0) { iter.item = l->items[0]; diff --git a/Source/Modules/allegrocl.cxx b/Source/Modules/allegrocl.cxx index a7423b12a..c1ffdee65 100644 --- a/Source/Modules/allegrocl.cxx +++ b/Source/Modules/allegrocl.cxx @@ -16,6 +16,11 @@ public: static File *f_cl=0; static File *f_null=0; +static struct { + int count; + String **entries; +} defined_foreign_types; + const char *identifier_converter="identifier-convert-null"; int any_varargs(ParmList *pl) { @@ -95,11 +100,6 @@ String *convert_literal(String *num_param, String *type) { return res; } -struct { - int count; - String **entries; -} defined_foreign_types; - void add_defined_foreign_type(String *type) { if (!defined_foreign_types.count) { /* Make fresh */