From 8f187ca62fb0c8c47b1b03affc5d847f2b398dab Mon Sep 17 00:00:00 2001 From: Krisztian Litkey Date: Mon, 25 Aug 2014 17:21:37 +0300 Subject: [PATCH] collect-symbols: unshave preprocessor if given. --- utils/collect-symbols.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/utils/collect-symbols.c b/utils/collect-symbols.c index cc192ed..9b7b782 100644 --- a/utils/collect-symbols.c +++ b/utils/collect-symbols.c @@ -126,6 +126,21 @@ static void verbose_message(int level, const char *fmt, ...) } +static char *unshave(char *cmd) +{ +#define SHAVE "shave cc " + char *shave; + + shave = strstr(cmd, SHAVE); + + if (shave == NULL) + return cmd; + else + return shave + sizeof(SHAVE) - 1; +#undef SHAVE +} + + static void print_usage(const char *argv0, int exit_code, const char *fmt, ...) { va_list ap; @@ -185,7 +200,7 @@ static void parse_cmdline(config_t *cfg, int argc, char **argv) while ((opt = getopt_long(argc, argv, OPTIONS, options, NULL)) != -1) { switch (opt) { case 'P': - cfg->preproc = optarg; + cfg->preproc = unshave(optarg); break; case 'c': -- 2.7.4