ccanlint: fix usage of unused main parameters in other cases where we add main()
authorRusty Russell <rusty@rustcorp.com.au>
Sun, 6 Nov 2016 06:33:19 +0000 (17:03 +1030)
committerRusty Russell <rusty@rustcorp.com.au>
Sun, 6 Nov 2016 06:33:19 +0000 (17:03 +1030)
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
tools/ccanlint/tests/examples_compile.c

index 2ca2f34c6970a520c7b8cc3b18cbfc132bdf8c85..5086239396840d524c9c4df2a3c613bb96bd14ca 100644 (file)
@@ -359,7 +359,8 @@ static char *strip_comment(const void *ctx, const char *orig_line)
 static char *mangle(struct manifest *m, char **lines)
 {
        char *ret, *use_funcs = NULL, *why;
-       bool in_function = false, fake_function = false, has_main = false;
+       bool in_function = false, fake_function = false, has_main = false,
+               fake_main = false;
        unsigned int i;
 
        ret = tal_fmt(m,
@@ -393,6 +394,7 @@ static char *mangle(struct manifest *m, char **lines)
                fake_function = true;
                in_function = true;
                has_main = true;
+               fake_main = true;
        } else
                tal_append_fmt(&ret,
                             "/* The example %s, so didn't wrap in main() */\n",
@@ -429,6 +431,7 @@ static char *mangle(struct manifest *m, char **lines)
                                /* This implies we start a function here. */
                                start_main(&ret, why);
                                has_main = true;
+                               fake_main = true;
                                fake_function = true;
                                in_function = true;
                        }
@@ -444,6 +447,7 @@ static char *mangle(struct manifest *m, char **lines)
                             "/* Need a main to link successfully. */\n"
                             "int main(int argc, char *argv[])\n{\n");
                fake_function = true;
+               fake_main = true;
        }
 
        if (use_funcs) {
@@ -460,7 +464,7 @@ static char *mangle(struct manifest *m, char **lines)
                tal_append_fmt(&ret, "  %s\n", use_funcs);
        }
 
-       if (!has_main)
+       if (fake_main)
                ret = tal_strcat(m, take(ret),
                                 "(void)argc; (void)argv;\n");