| 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/environment.h" | 5 #include "base/environment.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/strings/string_piece.h" | 9 #include "base/strings/string_piece.h" |
| 10 #include "base/strings/string_util.h" | 10 #include "base/strings/string_util.h" |
| (...skipping 18 matching lines...) Expand all Loading... |
| 29 | 29 |
| 30 // Some commonly used variable names are uppercase while others | 30 // Some commonly used variable names are uppercase while others |
| 31 // are lowercase, which is inconsistent. Let's try to be helpful | 31 // are lowercase, which is inconsistent. Let's try to be helpful |
| 32 // and look for a variable name with the reverse case. | 32 // and look for a variable name with the reverse case. |
| 33 // I.e. HTTP_PROXY may be http_proxy for some users/systems. | 33 // I.e. HTTP_PROXY may be http_proxy for some users/systems. |
| 34 char first_char = variable_name[0]; | 34 char first_char = variable_name[0]; |
| 35 std::string alternate_case_var; | 35 std::string alternate_case_var; |
| 36 if (first_char >= 'a' && first_char <= 'z') | 36 if (first_char >= 'a' && first_char <= 'z') |
| 37 alternate_case_var = StringToUpperASCII(std::string(variable_name)); | 37 alternate_case_var = StringToUpperASCII(std::string(variable_name)); |
| 38 else if (first_char >= 'A' && first_char <= 'Z') | 38 else if (first_char >= 'A' && first_char <= 'Z') |
| 39 alternate_case_var = StringToLowerASCII(std::string(variable_name)); | 39 alternate_case_var = base::StringToLowerASCII(std::string(variable_name)); |
| 40 else | 40 else |
| 41 return false; | 41 return false; |
| 42 return GetVarImpl(alternate_case_var.c_str(), result); | 42 return GetVarImpl(alternate_case_var.c_str(), result); |
| 43 } | 43 } |
| 44 | 44 |
| 45 virtual bool SetVar(const char* variable_name, | 45 virtual bool SetVar(const char* variable_name, |
| 46 const std::string& new_value) OVERRIDE { | 46 const std::string& new_value) OVERRIDE { |
| 47 return SetVarImpl(variable_name, new_value); | 47 return SetVarImpl(variable_name, new_value); |
| 48 } | 48 } |
| 49 | 49 |
| (...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 228 for (size_t i = 0; i < result_indices.size(); i++) | 228 for (size_t i = 0; i < result_indices.size(); i++) |
| 229 result[i] = &storage_data[result_indices[i]]; | 229 result[i] = &storage_data[result_indices[i]]; |
| 230 result[result_indices.size()] = 0; // Null terminator. | 230 result[result_indices.size()] = 0; // Null terminator. |
| 231 | 231 |
| 232 return result.Pass(); | 232 return result.Pass(); |
| 233 } | 233 } |
| 234 | 234 |
| 235 #endif // OS_POSIX | 235 #endif // OS_POSIX |
| 236 | 236 |
| 237 } // namespace base | 237 } // namespace base |
| OLD | NEW |