cc_log("Failed; falling back to running the real compiler");
if (getenv("CCACHE_VERBOSE")) {
- print_executed_command(orig_args->argv);
+ print_executed_command(stdout, orig_args->argv);
}
execv(orig_args->argv[0], orig_args->argv);
cc_log("execv returned (%s)!", strerror(errno));
#include <sys/file.h>
#include <unistd.h>
#include <stdarg.h>
+#include <stdio.h>
#ifdef __GNUC__
#define ATTR_FORMAT(x, y, z) __attribute__((format (x, y, z)))
const char *path_stdout,
const char *path_stderr);
char *find_executable(const char *name, const char *exclude_name);
-void print_executed_command(char **argv);
+void print_command(FILE *fp, char **argv);
+void print_executed_command(FILE *fp, char **argv);
typedef struct {
char **argv;
int fd;
if (getenv("CCACHE_VERBOSE")) {
- print_executed_command(argv);
+ print_executed_command(stdout, argv);
}
unlink(path_stdout);
return NULL;
}
-void print_executed_command(char **argv)
+void print_command(FILE *fp, char **argv)
{
int i;
- printf("%s: executing ", MYNAME);
for (i = 0; argv[i]; i++) {
- printf("%s%s", (i == 0) ? "" : " ", argv[i]);
+ fprintf(fp, "%s%s", (i == 0) ? "" : " ", argv[i]);
}
- printf("\n");
+ fprintf(fp, "\n");
+}
+
+void print_executed_command(FILE *fp, char **argv)
+{
+ fprintf(fp, "%s: executing ", MYNAME);
+ print_command(fp, argv);
}