--- ts.c 2002/03/08 12:38:24 1.2
+++ ts.c 2003/02/10 15:20:37 1.3
@@ -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;
@@ -126,7 +130,7 @@
int n;
int bytes;
- if (format == NULL || ap == NULL)
+ if (format == NULL)
return -1;
bytes = 0;
while (*format != '\0') {
@@ -200,7 +204,7 @@
int n;
va_list ap2;
- if (format == NULL || ap == NULL)
+ if (format == NULL)
return NULL;
ap2 = ap;
if ((n = ts_suite_mvxprintf(NULL, 0, format, ap)) == -1)
@@ -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);
|