diff options
author | nsylvain@chromium.org <nsylvain@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-21 02:15:06 +0000 |
---|---|---|
committer | nsylvain@chromium.org <nsylvain@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-21 02:15:06 +0000 |
commit | 1e5a0922a9e33bdab23f1f5e50b89e571deea87a (patch) | |
tree | 7a90e6159cf527917556a50c3bff5e974e708608 /base/string_util.cc | |
parent | 816888656f0a5152466c3d71c26fdb81e2db912e (diff) | |
download | chromium_src-1e5a0922a9e33bdab23f1f5e50b89e571deea87a.zip chromium_src-1e5a0922a9e33bdab23f1f5e50b89e571deea87a.tar.gz chromium_src-1e5a0922a9e33bdab23f1f5e50b89e571deea87a.tar.bz2 |
Revert 82405 - Support more than 9 arguments for ReplaceStringPlaceholders()- support more than 9 arguments ($1, $2, $3, ..., $9 and $10, $11, $12, ...) for ReplaceStringPlaceholders()- add the unittest named ReplaceStringPlaceholdersMoreThan9Replacements for testing more than 9 arguments for ReplaceStringPlaceholders()BUG=16963TEST=string_util_unittest:StringUtilTest.ReplaceStringPlaceholdersMoreThan9ReplacementsPatch by haraken@google.com.Review URL: http://codereview.chromium.org/6877008
TBR=tony@chromium.org
Review URL: http://codereview.chromium.org/6882108
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82423 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/string_util.cc')
-rw-r--r-- | base/string_util.cc | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/base/string_util.cc b/base/string_util.cc index 0cbb25f..1ad9abe 100644 --- a/base/string_util.cc +++ b/base/string_util.cc @@ -831,6 +831,7 @@ template<class FormatStringType, class OutStringType> OutStringType DoReplaceStringPlaceholders(const FormatStringType& format_string, const std::vector<OutStringType>& subst, std::vector<size_t>* offsets) { size_t substitutions = subst.size(); + DCHECK(substitutions < 10); size_t sub_length = 0; for (typename std::vector<OutStringType>::const_iterator iter = subst.begin(); @@ -855,14 +856,7 @@ OutStringType DoReplaceStringPlaceholders(const FormatStringType& format_string, } --i; } else { - uintptr_t index = 0; - while ('0' <= *i && '9' >= *i) { - index *= 10; - index += *i - '0'; - ++i; - } - --i; - index -= 1; + uintptr_t index = *i - '1'; if (offsets) { ReplacementOffset r_offset(index, static_cast<int>(formatted.size())); |