Fixed escaping @ in boost program options filter

new-script-api
Alexander Stillich 7 years ago
parent 5e69f6033f
commit 7d39c5450c

@ -27,7 +27,8 @@ namespace Files
std::string EscapeHashString::processString(const std::string & str) std::string EscapeHashString::processString(const std::string & str)
{ {
std::string temp = boost::replace_all_copy<std::string>(str, std::string() + (char)escape_hash_filter::sEscape + (char)escape_hash_filter::sHashIdentifier, "#"); std::string temp = boost::replace_all_copy<std::string>(str, std::string() + (char)escape_hash_filter::sEscape + (char)escape_hash_filter::sHashIdentifier, "#");
boost::replace_all(temp, std::string() + (char)escape_hash_filter::sEscape + (char)escape_hash_filter::sEscapeIdentifier, std::string((char)escape_hash_filter::sEscape, 1)); auto format = std::string(1, (char)escape_hash_filter::sEscape);
boost::replace_all(temp, std::string() + (char)escape_hash_filter::sEscape + (char)escape_hash_filter::sEscapeIdentifier, format);
return temp; return temp;
} }

@ -78,6 +78,12 @@ namespace Files
mFinishLine = true; mFinishLine = true;
} }
} }
else if (character == sEscape)
{
mNext.push(sEscape);
mNext.push(sEscapeIdentifier);
record = false;
}
else if (mPrevious == sEscape) else if (mPrevious == sEscape)
{ {
mNext.push(sEscape); mNext.push(sEscape);

Loading…
Cancel
Save