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,
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",
/* This implies we start a function here. */
start_main(&ret, why);
has_main = true;
+ fake_main = true;
fake_function = true;
in_function = true;
}
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) {
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;
}