summaryrefslogtreecommitdiffstats
path: root/base
diff options
context:
space:
mode:
authorevan@chromium.org <evan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-21 15:57:23 +0000
committerevan@chromium.org <evan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-21 15:57:23 +0000
commit2e4c50cd49a81bef973b934c236b110e660f3746 (patch)
treeae4a3d58d0a8efc60d47494305b59c57980eac78 /base
parent445a971d141c3b745a84f8fed3a2d627789ebf22 (diff)
downloadchromium_src-2e4c50cd49a81bef973b934c236b110e660f3746.zip
chromium_src-2e4c50cd49a81bef973b934c236b110e660f3746.tar.gz
chromium_src-2e4c50cd49a81bef973b934c236b110e660f3746.tar.bz2
Remove deprecated CommandLine::GetLooseValues(), rename to args().
It returned a wstring, when really we wanted the native encoded strings. Fixing the majority of callers actually simplified them in many cases because the callers wanted native strings too. Since I'm touching every caller, I gave it a more useful name. I'm not sure where "loose" came from but it never made sense to me. BUG=24672 Review URL: http://codereview.chromium.org/3028010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53193 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base')
-rw-r--r--base/command_line.cc19
-rw-r--r--base/command_line.h12
-rw-r--r--base/command_line_unittest.cc20
3 files changed, 20 insertions, 31 deletions
diff --git a/base/command_line.cc b/base/command_line.cc
index 2a7824d..c046125 100644
--- a/base/command_line.cc
+++ b/base/command_line.cc
@@ -82,7 +82,7 @@ void CommandLine::ParseFromString(const std::wstring& command_line) {
TrimWhitespace(args[i], TRIM_ALL, &arg);
if (!parse_switches) {
- loose_values_.push_back(arg);
+ args_.push_back(arg);
continue;
}
@@ -96,7 +96,7 @@ void CommandLine::ParseFromString(const std::wstring& command_line) {
if (IsSwitch(arg, &switch_string, &switch_value)) {
switches_[switch_string] = switch_value;
} else {
- loose_values_.push_back(arg);
+ args_.push_back(arg);
}
}
@@ -130,7 +130,7 @@ void CommandLine::InitFromArgv(const std::vector<std::string>& argv) {
const std::string& arg = argv_[i];
if (!parse_switches) {
- loose_values_.push_back(arg);
+ args_.push_back(arg);
continue;
}
@@ -144,7 +144,7 @@ void CommandLine::InitFromArgv(const std::vector<std::string>& argv) {
if (IsSwitch(arg, &switch_string, &switch_value)) {
switches_[switch_string] = switch_value;
} else {
- loose_values_.push_back(arg);
+ args_.push_back(arg);
}
}
}
@@ -287,19 +287,10 @@ std::wstring CommandLine::GetSwitchValue(
}
#if defined(OS_WIN)
-std::vector<std::wstring> CommandLine::GetLooseValues() const {
- return loose_values_;
-}
std::wstring CommandLine::program() const {
return program_;
}
#else
-std::vector<std::wstring> CommandLine::GetLooseValues() const {
- std::vector<std::wstring> values;
- for (size_t i = 0; i < loose_values_.size(); ++i)
- values.push_back(base::SysNativeMBToWide(loose_values_[i]));
- return values;
-}
std::wstring CommandLine::program() const {
DCHECK_GT(argv_.size(), 0U);
return base::SysNativeMBToWide(argv_[0]);
@@ -375,7 +366,7 @@ void CommandLine::AppendLooseValue(const std::wstring& value) {
// TODO(evan): quoting?
command_line_string_.append(L" ");
command_line_string_.append(value);
- loose_values_.push_back(value);
+ args_.push_back(value);
}
void CommandLine::AppendArguments(const CommandLine& other,
diff --git a/base/command_line.h b/base/command_line.h
index c68711a..2c4f32d 100644
--- a/base/command_line.h
+++ b/base/command_line.h
@@ -5,10 +5,9 @@
// This class works with command lines: building and parsing.
// Switches can optionally have a value attached using an equals sign,
// as in "-switch=value". Arguments that aren't prefixed with a
-// switch prefix are considered "loose parameters". Switch names are
-// case-insensitive. An argument of "--" will terminate switch
-// parsing, causing everything after to be considered as loose
-// parameters.
+// switch prefix are saved as extra arguments. An argument of "--"
+// will terminate switch parsing, causing everything after to be
+// considered as extra arguments.
// There is a singleton read-only CommandLine that represents the command
// line that the current process was started with. It must be initialized
@@ -139,8 +138,7 @@ class CommandLine {
}
// Get the remaining arguments to the command.
- // WARNING: this is incorrect on POSIX; we must do string conversions.
- std::vector<std::wstring> GetLooseValues() const;
+ const std::vector<StringType>& args() const { return args_; }
#if defined(OS_WIN)
// Returns the original command line string.
@@ -239,7 +237,7 @@ class CommandLine {
SwitchMap switches_;
// Non-switch command-line arguments.
- std::vector<StringType> loose_values_;
+ std::vector<StringType> args_;
// We allow copy constructors, because a common pattern is to grab a
// copy of the current process's command line and then add some
diff --git a/base/command_line_unittest.cc b/base/command_line_unittest.cc
index 6544c13..8f3c7c0 100644
--- a/base/command_line_unittest.cc
+++ b/base/command_line_unittest.cc
@@ -59,21 +59,21 @@ TEST(CommandLineTest, CommandLineConstructor) {
"other-switches"));
EXPECT_EQ("45--output-rotation", cl.GetSwitchValueASCII("input-translation"));
- std::vector<std::wstring> loose_values = cl.GetLooseValues();
- ASSERT_EQ(5U, loose_values.size());
+ const std::vector<CommandLine::StringType>& args = cl.args();
+ ASSERT_EQ(5U, args.size());
- std::vector<std::wstring>::const_iterator iter = loose_values.begin();
- EXPECT_EQ(L"flim", *iter);
+ std::vector<CommandLine::StringType>::const_iterator iter = args.begin();
+ EXPECT_EQ(FILE_PATH_LITERAL("flim"), *iter);
++iter;
- EXPECT_EQ(L"flan", *iter);
+ EXPECT_EQ(FILE_PATH_LITERAL("flan"), *iter);
++iter;
- EXPECT_EQ(L"--", *iter);
+ EXPECT_EQ(FILE_PATH_LITERAL("--"), *iter);
++iter;
- EXPECT_EQ(L"--not-a-switch", *iter);
+ EXPECT_EQ(FILE_PATH_LITERAL("--not-a-switch"), *iter);
++iter;
- EXPECT_EQ(L"in the time of submarines...", *iter);
+ EXPECT_EQ(FILE_PATH_LITERAL("in the time of submarines..."), *iter);
++iter;
- EXPECT_TRUE(iter == loose_values.end());
+ EXPECT_TRUE(iter == args.end());
#if defined(OS_POSIX)
const std::vector<std::string>& argvec = cl.argv();
@@ -93,7 +93,7 @@ TEST(CommandLineTest, EmptyString) {
CommandLine cl(0, NULL);
EXPECT_TRUE(cl.argv().size() == 0);
#endif
- EXPECT_EQ(0U, cl.GetLooseValues().size());
+ EXPECT_EQ(0U, cl.args().size());
}
// Test methods for appending switches to a command line.