loci: replace of_list_iter_t with of_object_t *
All known callers have been switched over.
diff --git a/c_gen/templates/list.c b/c_gen/templates/list.c
index d39af9a..5eb45c6 100644
--- a/c_gen/templates/list.c
+++ b/c_gen/templates/list.c
@@ -42,10 +42,9 @@
*/
int
-${cls}_first(${cls}_t *list, of_list_iter_t iter)
+${cls}_first(${cls}_t *list, of_object_t *obj)
{
int rv;
- of_object_t *obj = iter.obj;
${e_cls}_init(obj, list->version, -1, 1);
@@ -73,10 +72,9 @@
*/
int
-${cls}_next(${cls}_t *list, of_list_iter_t iter)
+${cls}_next(${cls}_t *list, of_object_t *obj)
{
int rv;
- of_object_t *obj = iter.obj;
if ((rv = of_list_next(list, obj)) < 0) {
return rv;
@@ -105,9 +103,9 @@
*/
int
-${cls}_append_bind(${cls}_t *list, of_list_iter_t iter)
+${cls}_append_bind(${cls}_t *list, of_object_t *obj)
{
- return of_list_append_bind(list, iter.obj);
+ return of_list_append_bind(list, obj);
}
/**
@@ -119,7 +117,7 @@
*/
int
-${cls}_append(${cls}_t *list, of_list_iter_t iter)
+${cls}_append(${cls}_t *list, of_object_t *obj)
{
- return of_list_append(list, iter.obj);
+ return of_list_append(list, obj);
}
diff --git a/c_gen/templates/loci_classes.h b/c_gen/templates/loci_classes.h
index 86fe36b..c5147cb 100644
--- a/c_gen/templates/loci_classes.h
+++ b/c_gen/templates/loci_classes.h
@@ -36,22 +36,6 @@
void ${uclass.name}_push_wire_types(of_object_t *obj);
:: #endfor
-/*
- * Transparent union used for list iteration
- *
- * This will be removed when all callers are converted to of_object_t.
- */
-union of_list_iter_u {
- of_object_t *obj;
-:: for uclass in loxi_globals.unified.classes:
-:: if uclass.virtual and not uclass.superclass:
- union ${uclass.name}_u *${uclass.name};
-:: #endif
-:: #endfor
-} __attribute__ ((__transparent_union__));
-
-typedef union of_list_iter_u of_list_iter_t;
-
${legacy_code}
#endif