summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--usr.bin/xlint/xlint/xlint.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/usr.bin/xlint/xlint/xlint.c b/usr.bin/xlint/xlint/xlint.c
index a694ff4..f7d0d98 100644
--- a/usr.bin/xlint/xlint/xlint.c
+++ b/usr.bin/xlint/xlint/xlint.c
@@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$");
#include <sys/wait.h>
#include <sys/stat.h>
#include <sys/utsname.h>
+#include <err.h>
#include <errno.h>
#include <fcntl.h>
#include <paths.h>
@@ -583,7 +584,7 @@ static void
fname(const char *name)
{
const char *bn, *suff;
- char **args, *ofn, *pathname, *CC;
+ char **args, *ofn, *p, *pathname;
size_t len;
int is_stdin;
int fd;
@@ -643,10 +644,13 @@ fname(const char *name)
if (getenv("CC") == NULL) {
pathname = xmalloc(strlen(PATH_USRBIN) + sizeof ("/cc"));
(void)sprintf(pathname, "%s/cc", PATH_USRBIN);
- } else
+ appcstrg(&args, pathname);
+ } else {
pathname = strdup(getenv("CC"));
+ for (p = strtok(pathname, " \t"); p; p = strtok(NULL, " \t"))
+ appcstrg(&args, p);
+ }
- appcstrg(&args, pathname);
applst(&args, cflags);
applst(&args, lcflags);
appcstrg(&args, name);
OpenPOWER on IntegriCloud