This is to please CodeQL's "For loop variable changed in body" check.
{
std::string result;
const char* left = str.c_str();
- for (const char* right = left; *right; ++right) {
+ const char* right = left;
+ while (*right) {
if (*right == '$') {
result.append(left, right - left);
left = right + 1;
}
}
+ ++right;
}
result += left;
return result;
std::string result;
result.reserve(string.size());
- for (size_t i = 0; i < string.size(); ++i) {
+ size_t i = 0;
+ while (i < string.size()) {
if (string[i] != '%') {
result += string[i];
} else if (i + 2 >= string.size() || !std::isxdigit(string[i + 1])
result += ch;
i += 2;
}
+ ++i;
}
return result;