#include "gnunet_common.h"
#include "gnunet_container_lib.h"
-#define ABORT() { fprintf(stderr, "Error at %s:%d\n", __FILE__, __LINE__); return 1; }
-#define CHECK(c) { if (! (c)) ABORT(); }
+#define CHECK(c) do { if (! (c)) { fprintf(stderr, "Error at %s:%d\n", __FILE__, __LINE__); GNUNET_CONTAINER_slist_destroy (l); return 1; } } while (0)
int
main (int argc, char *argv[])
GNUNET_CONTAINER_slist_next (it), i--)
{
p = GNUNET_CONTAINER_slist_get (it, &s);
- CHECK (p != NULL);
- j = *(int *) p;
- CHECK (i == j);
- CHECK (s == sizeof (i));
+ if ( (p == NULL) ||
+ (i != (j = *(int *) p)) ||
+ (s != sizeof (i)) )
+ {
+ GNUNET_CONTAINER_slist_iter_destroy (it);
+ CHECK (0);
+ }
j *= 2;
GNUNET_CONTAINER_slist_insert (it,
GNUNET_CONTAINER_SLIST_DISPOSITION_TRANSIENT,