aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main
diff options
context:
space:
mode:
authorGravatar lpino <lpino@google.com>2017-08-10 16:25:54 +0200
committerGravatar Marcel Hlopko <hlopko@google.com>2017-08-11 12:55:58 +0200
commit4ed3db6517c7e13f46924fb832c0d65b70c95cde (patch)
treeb8c37fff1de2fdaf7f89d958a891cfc05077449c /src/main
parentdb55b5a9f6d56535a909bd777b7f803a99d9dbd9 (diff)
Polish blaze_util.cc
PiperOrigin-RevId: 164850909
Diffstat (limited to 'src/main')
-rw-r--r--src/main/cpp/blaze_util.cc18
-rw-r--r--src/main/cpp/blaze_util.h13
2 files changed, 27 insertions, 4 deletions
diff --git a/src/main/cpp/blaze_util.cc b/src/main/cpp/blaze_util.cc
index a5268e646b..0fb78986af 100644
--- a/src/main/cpp/blaze_util.cc
+++ b/src/main/cpp/blaze_util.cc
@@ -103,10 +103,15 @@ const char* SearchUnaryOption(const vector<string>& args,
return GetUnaryOption(args[i].c_str(), NULL, key);
}
-bool SearchNullaryOption(const vector<string>& args, const char *key) {
+static bool SearchNullaryOption(const vector<string>& args,
+ const char *key,
+ const bool include_positional_params) {
for (vector<string>::size_type i = 0; i < args.size(); i++) {
if (args[i] == "--") {
- return false;
+ if (!include_positional_params) {
+ return false;
+ }
+ continue;
}
if (GetNullaryOption(args[i].c_str(), key)) {
return true;
@@ -115,6 +120,15 @@ bool SearchNullaryOption(const vector<string>& args, const char *key) {
return false;
}
+bool SearchNullaryOption(const vector<string>& args, const char *key) {
+ return SearchNullaryOption(args, key, false);
+}
+
+bool SearchNullaryOptionEverywhere(const vector<string>& args,
+ const char *key) {
+ return SearchNullaryOption(args, key, true);
+}
+
bool VerboseLogging() { return !GetEnv("VERBOSE_BLAZE_CLIENT").empty(); }
// Read the Jvm version from a file descriptor. The read fd
diff --git a/src/main/cpp/blaze_util.h b/src/main/cpp/blaze_util.h
index 7c85d82dbf..0df70e67df 100644
--- a/src/main/cpp/blaze_util.h
+++ b/src/main/cpp/blaze_util.h
@@ -57,12 +57,21 @@ bool GetNullaryOption(const char *arg, const char *key);
const char* SearchUnaryOption(const std::vector<std::string>& args,
const char* key);
-// Searches for 'key' in 'args' using GetNullaryOption. Arguments found after
-// '--' are omitted from the search.
+// Searches for 'key' in 'args' using GetNullaryOption.
+// Unlike SearchNullaryOptionEverywhere, arguments found after '--' are omitted
+// from the search.
// Returns true iff key is a flag in args.
bool SearchNullaryOption(const std::vector<std::string>& args,
const char* key);
+// Searches for 'key' in 'args' using GetNullaryOption.
+// Unlike SearchNullaryOption, arguments found after '--' are included in the
+// search.
+// Returns true iff key is a flag in args.
+bool SearchNullaryOptionEverywhere(const std::vector<std::string>& args,
+ const char* key);
+
+
// Enable messages mostly of interest to developers.
bool VerboseLogging();