OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/command_line.h" | 5 #include "base/command_line.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <ostream> | 8 #include <ostream> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
11 #include "base/file_path.h" | 11 #include "base/file_path.h" |
12 #include "base/logging.h" | 12 #include "base/logging.h" |
13 #include "base/string_util.h" | 13 #include "base/string_util.h" |
14 #include "base/strings/string_split.h" | 14 #include "base/strings/string_split.h" |
15 #include "base/utf_string_conversions.h" | 15 #include "base/utf_string_conversions.h" |
16 #include "build/build_config.h" | 16 #include "build/build_config.h" |
17 | 17 |
18 #if defined(OS_WIN) | 18 #if defined(OS_WIN) |
19 #include <windows.h> | 19 #include <windows.h> |
20 #include <shellapi.h> | 20 #include <shellapi.h> |
21 #endif | 21 #endif |
22 | 22 |
| 23 using base::FilePath; |
| 24 |
23 CommandLine* CommandLine::current_process_commandline_ = NULL; | 25 CommandLine* CommandLine::current_process_commandline_ = NULL; |
24 | 26 |
25 namespace { | 27 namespace { |
26 const CommandLine::CharType kSwitchTerminator[] = FILE_PATH_LITERAL("--"); | 28 const CommandLine::CharType kSwitchTerminator[] = FILE_PATH_LITERAL("--"); |
27 const CommandLine::CharType kSwitchValueSeparator[] = FILE_PATH_LITERAL("="); | 29 const CommandLine::CharType kSwitchValueSeparator[] = FILE_PATH_LITERAL("="); |
28 // Since we use a lazy match, make sure that longer versions (like "--") are | 30 // Since we use a lazy match, make sure that longer versions (like "--") are |
29 // listed before shorter versions (like "-") of similar prefixes. | 31 // listed before shorter versions (like "-") of similar prefixes. |
30 #if defined(OS_WIN) | 32 #if defined(OS_WIN) |
31 const CommandLine::CharType* const kSwitchPrefixes[] = {L"--", L"-", L"/"}; | 33 const CommandLine::CharType* const kSwitchPrefixes[] = {L"--", L"-", L"/"}; |
32 #elif defined(OS_POSIX) | 34 #elif defined(OS_POSIX) |
(...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
407 int num_args = 0; | 409 int num_args = 0; |
408 wchar_t** args = NULL; | 410 wchar_t** args = NULL; |
409 args = ::CommandLineToArgvW(command_line_string.c_str(), &num_args); | 411 args = ::CommandLineToArgvW(command_line_string.c_str(), &num_args); |
410 | 412 |
411 DPLOG_IF(FATAL, !args) << "CommandLineToArgvW failed on command line: " | 413 DPLOG_IF(FATAL, !args) << "CommandLineToArgvW failed on command line: " |
412 << command_line; | 414 << command_line; |
413 InitFromArgv(num_args, args); | 415 InitFromArgv(num_args, args); |
414 LocalFree(args); | 416 LocalFree(args); |
415 } | 417 } |
416 #endif | 418 #endif |
OLD | NEW |