diff options
| author | Shinichiro Hamaji <shinichiro.hamaji@gmail.com> | 2016-06-25 11:11:44 +0900 |
|---|---|---|
| committer | Shinichiro Hamaji <shinichiro.hamaji@gmail.com> | 2016-06-25 11:12:33 +0900 |
| commit | 4627ab22520d904004bb50048267c6c5f5bbd2db (patch) | |
| tree | dd9028e6e84562f625e0f8c06efd23157675f76c | |
| parent | d570f214b76beac77ecfd287822cc4f7a690f7c4 (diff) | |
[C++] A follow-up for the previous change
| -rw-r--r-- | flags.cc | 18 |
1 files changed, 5 insertions, 13 deletions
@@ -16,6 +16,7 @@ #include "flags.h" +#include <stdlib.h> #include <unistd.h> #include "log.h" @@ -47,24 +48,15 @@ static bool ParseCommandLineOptionWithArg(StringPiece option, return false; } -extern "C" char** environ; - void Flags::Parse(int argc, char** argv) { subkati_args.push_back(argv[0]); num_jobs = num_cpus = sysconf(_SC_NPROCESSORS_ONLN); const char* num_jobs_str; - for (char** p = environ; *p; p++) { - const char* prefix = "MAKEFLAGS="; - if (HasPrefix(*p, prefix)) { - for (StringPiece tok : WordScanner(*p + strlen(prefix))) { - if (!HasPrefix(tok, "-")) { - size_t found = tok.find("="); - if (found != string::npos) { - cl_vars.push_back(tok); - } - } - } + if (const char* makeflags = getenv("MAKEFLAGS")) { + for (StringPiece tok : WordScanner(makeflags)) { + if (!HasPrefix(tok, "-") && tok.find('=') != string::npos) + cl_vars.push_back(tok); } } |
