From 7faf115dfffaf12cdae98eac71fc6811059c6657 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Tue, 17 Jul 2012 09:33:38 -0400 Subject: Change all SMARTLIST_FOREACH loops of >=10 lines to use BEGIN/END The SMARTLIST_FOREACH macro is more convenient than BEGIN/END when you have a nice short loop body, but using it for long bodies makes your preprocessor tell the compiler that all the code is on the same line. That causes grief, since compiler warnings and debugger lines will all refer to that one line. So, here's a new style rule: SMARTLIST_FOREACH blocks need to be short. --- src/test/test.c | 5 ++--- src/test/test_util.c | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) (limited to 'src/test') diff --git a/src/test/test.c b/src/test/test.c index 454fc54d5..6bf2d28d9 100644 --- a/src/test/test.c +++ b/src/test/test.c @@ -131,8 +131,7 @@ rm_rf(const char *dir) elements = tor_listdir(dir); if (elements) { - SMARTLIST_FOREACH(elements, const char *, cp, - { + SMARTLIST_FOREACH_BEGIN(elements, const char *, cp) { char *tmp = NULL; tor_asprintf(&tmp, "%s"PATH_SEPARATOR"%s", dir, cp); if (0 == stat(tmp,&st) && (st.st_mode & S_IFDIR)) { @@ -143,7 +142,7 @@ rm_rf(const char *dir) } } tor_free(tmp); - }); + } SMARTLIST_FOREACH_END(cp); SMARTLIST_FOREACH(elements, char *, cp, tor_free(cp)); smartlist_free(elements); } diff --git a/src/test/test_util.c b/src/test/test_util.c index 632ef68bd..9eca90492 100644 --- a/src/test/test_util.c +++ b/src/test/test_util.c @@ -2604,8 +2604,7 @@ test_util_split_lines(void *ptr) j = 0; log_info(LD_GENERAL, "Splitting test %d of length %d", i, tests[i].orig_length); - SMARTLIST_FOREACH(sl, const char *, line, - { + SMARTLIST_FOREACH_BEGIN(sl, const char *, line) { /* Check we have not got too many lines */ test_assert(j < MAX_SPLIT_LINE_COUNT); /* Check that there actually should be a line here */ @@ -2615,7 +2614,7 @@ test_util_split_lines(void *ptr) /* Check that the line is as expected */ test_streq(line, tests[i].split_line[j]); j++; - }); + } SMARTLIST_FOREACH_END(line); /* Check that we didn't miss some lines */ test_eq_ptr(NULL, tests[i].split_line[j]); tor_free(orig_line); -- cgit v1.2.3