From 4ed3db6517c7e13f46924fb832c0d65b70c95cde Mon Sep 17 00:00:00 2001 From: lpino Date: Thu, 10 Aug 2017 16:25:54 +0200 Subject: Polish blaze_util.cc PiperOrigin-RevId: 164850909 --- src/main/cpp/blaze_util.cc | 18 ++++++++++++++++-- src/main/cpp/blaze_util.h | 13 +++++++++++-- 2 files changed, 27 insertions(+), 4 deletions(-) (limited to 'src/main') 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& args, return GetUnaryOption(args[i].c_str(), NULL, key); } -bool SearchNullaryOption(const vector& args, const char *key) { +static bool SearchNullaryOption(const vector& args, + const char *key, + const bool include_positional_params) { for (vector::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& args, const char *key) { return false; } +bool SearchNullaryOption(const vector& args, const char *key) { + return SearchNullaryOption(args, key, false); +} + +bool SearchNullaryOptionEverywhere(const vector& 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& 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& 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& args, + const char* key); + + // Enable messages mostly of interest to developers. bool VerboseLogging(); -- cgit v1.2.3