diff --git a/src/utl/foreach.h b/src/utl/foreach.h index 06b9e68..207758e 100644 --- a/src/utl/foreach.h +++ b/src/utl/foreach.h @@ -20,12 +20,12 @@ #ifndef CMC_FOREACH_H #define CMC_FOREACH_H -#define CMC_FOREACH(PFX, SNAME, ITERNAME, TARGET) \ - for (struct SNAME##_iter ITERNAME = (TARGET)->it_start(TARGET); \ - !PFX##_iter_end(&ITERNAME); PFX##_iter_next(&ITERNAME)) +#define CMC_FOREACH(PFX, SNAME, ITERNAME, TARGET) \ + for (struct SNAME##_iter ITERNAME = PFX##_iter_start(TARGET); \ + !PFX##_iter_at_end(&ITERNAME); PFX##_iter_next(&ITERNAME)) -#define CMC_FOREACH_REV(PFX, SNAME, ITERNAME, TARGET) \ - for (struct SNAME##_iter ITERNAME = (TARGET)->it_end(TARGET); \ - !PFX##_iter_start(&ITERNAME); PFX##_iter_prev(&ITERNAME)) +#define CMC_FOREACH_REV(PFX, SNAME, ITERNAME, TARGET) \ + for (struct SNAME##_iter ITERNAME = PFX##_iter_end(TARGET); \ + !PFX##_iter_at_start(&ITERNAME); PFX##_iter_prev(&ITERNAME)) #endif /* CMC_FOREACH_H */