]> git.ozlabs.org Git - ccan/blobdiff - tools/ccanlint/tests/examples_compile.c
base64: fix for unsigned chars (e.g. ARM).
[ccan] / tools / ccanlint / tests / examples_compile.c
index 745860668beddc8e158d3d5226dc3a4d0b4b849b..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;
                        }
@@ -442,8 +445,9 @@ static char *mangle(struct manifest *m, char **lines)
        if (!has_main) {
                ret = tal_strcat(m, take(ret),
                             "/* Need a main to link successfully. */\n"
-                            "int main(void)\n{\n");
+                            "int main(int argc, char *argv[])\n{\n");
                fake_function = true;
+               fake_main = true;
        }
 
        if (use_funcs) {
@@ -460,8 +464,13 @@ static char *mangle(struct manifest *m, char **lines)
                tal_append_fmt(&ret, "  %s\n", use_funcs);
        }
 
+       if (fake_main)
+               ret = tal_strcat(m, take(ret),
+                                "(void)argc; (void)argv;\n");
+       
        if (fake_function)
-               ret = tal_strcat(m, take(ret), "return 0;\n}\n");
+               ret = tal_strcat(m, take(ret),
+                                "return 0;\n}\n");
        return ret;
 }
 
@@ -485,7 +494,7 @@ static struct ccan_file *mangle_example(struct manifest *m,
                return NULL;
 
        contents = mangle(m, lines);
-       if (write(fd, contents, strlen(contents)) != strlen(contents)) {
+       if (write(fd, contents, strlen(contents)) != (int)strlen(contents)) {
                close(fd);
                return NULL;
        }
@@ -550,7 +559,7 @@ static unsigned int try_compiling(struct manifest *m,
 }
 
 static void build_examples(struct manifest *m,
-                          unsigned int *timeleft, struct score *score)
+                          unsigned int *timeleft UNNEEDED, struct score *score)
 {
        struct ccan_file *i;
        char **prev = NULL;