Commit 14c0e937 authored by Todd Lipcon's avatar Todd Lipcon Committed by Andreas Schuh

Convert dashes to underscores for unknown flags (#177)

parent cce68f0c
......@@ -771,7 +771,12 @@ void FlagRegistry::RegisterFlag(CommandLineFlag* flag) {
CommandLineFlag* FlagRegistry::FindFlagLocked(const char* name) {
FlagConstIterator i = flags_.find(name);
if (i == flags_.end()) {
return NULL;
// If the name has dashes in it, try again after replacing with
// underscores.
if (strchr(name, '-') == NULL) return NULL;
string name_rep = name;
std::replace(name_rep.begin(), name_rep.end(), '-', '_');
return FindFlagLocked(name_rep.c_str());
} else {
return i->second;
}
......
......@@ -357,6 +357,19 @@ TEST(FlagFileTest, ReadFlagsFromString) {
false,
123,
123.0);
// Test that flags can use dashes instead of underscores.
TestFlagString(
// Flag string
"-test-string=initial\n"
"--test-bool=false\n"
"--test-int32=123\n"
"--test-double=123.0\n",
// Expected values
"initial",
false,
123,
123.0);
}
// Tests the filename part of the flagfile
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment