--- ts.c 2002/12/18 15:52:33 1.1
+++ ts.c 2003/02/06 13:44:23 1.2
@@ -76,6 +76,10 @@
for ((ep) = RING_FIRST((hp)); \
(ep) != RING_SENTINEL((hp), elem, link); \
(ep) = RING_NEXT((ep), link))
+#define RING_FOREACH_LA(ep, epT, hp, elem, link) \
+ for ((ep) = RING_FIRST((hp)), (epT) = RING_NEXT((ep), link); \
+ (ep) != RING_SENTINEL((hp), elem, link); \
+ (ep) = (epT), (epT) = RING_NEXT((epT), link))
/* test suite test log */
struct tstl_st;
@@ -367,15 +371,15 @@
/* destroy test suite */
void ts_suite_free(ts_suite_t *ts)
{
- ts_test_t *tst;
- tstc_t *tstc;
- tstl_t *tstl;
+ ts_test_t *tst, *tstT;
+ tstc_t *tstc, *tstcT;
+ tstl_t *tstl, *tstlT;
if (ts == NULL)
return;
- RING_FOREACH(tst, &ts->tests, ts_test_t, next) {
- RING_FOREACH(tstc, &tst->checks, tstc_t, next) {
- RING_FOREACH(tstl, &tstc->logs, tstl_t, next) {
+ RING_FOREACH_LA(tst, tstT, &ts->tests, ts_test_t, next) {
+ RING_FOREACH_LA(tstc, tstcT, &tst->checks, tstc_t, next) {
+ RING_FOREACH_LA(tstl, tstlT, &tstc->logs, tstl_t, next) {
free(tstl->text);
}
free(tstc->title);
|