"int main(int argc, char *argv[]) {\n"
" char pad[sizeof(int *) * 1];\n"
" strncpy(pad, argv[0], sizeof(pad));\n"
- " return *(int *)(pad) == *(int *)(pad + 1);\n"
+ " int *x = (int *)pad, *y = (int *)(pad + 1);\n"
+ " return *x == *y;\n"
"}\n" },
{ "HAVE_UTIME", DEFINES_FUNC, NULL, NULL,
"#include <sys/types.h>\n"
test->done = true;
return test->answer;
}
+ if (deps[len])
+ free(dep);
+
deps += len;
deps += strspn(deps, " ");
}
cmd = connect_args(argv, " -o " OUTPUT_FILE " " INPUT_FILE);
for (i = 0; i < sizeof(tests)/sizeof(tests[0]); i++)
run_test(cmd, &tests[i]);
+ free(cmd);
unlink(OUTPUT_FILE);
unlink(INPUT_FILE);
printf("#define _GNU_SOURCE /* Always use GNU extensions. */\n");
printf("#endif\n");
printf("#define CCAN_COMPILER \"%s\"\n", argv[1]);
- printf("#define CCAN_CFLAGS \"%s\"\n\n", connect_args(argv+1, ""));
+ cmd = connect_args(argv+1, "");
+ printf("#define CCAN_CFLAGS \"%s\"\n\n", cmd);
+ free(cmd);
/* This one implies "#include <ccan/..." works, eg. for tdb2.h */
printf("#define HAVE_CCAN 1\n");
for (i = 0; i < sizeof(tests)/sizeof(tests[0]); i++)