add backslash to special chars, fixes bug #1327878

This commit is contained in:
fluxgen 2005-10-20 14:50:50 +00:00
parent a9f9e6d6ee
commit 88de9987f7

View file

@ -169,7 +169,13 @@ std::string ClientPattern::toString() const {
Terms::const_iterator it = m_terms.begin();
Terms::const_iterator it_end = m_terms.end();
for (; it != it_end; ++it) {
pat.append(" (");
// replace special chars like ( ) and [ ] with \( \) and \[ \]
string orig = FbTk::StringUtil::replaceString((*it)->orig, "(", "\\(");
orig = FbTk::StringUtil::replaceString(orig, ")", "\\)");
orig = FbTk::StringUtil::replaceString(orig, "[", "\\[");
orig = FbTk::StringUtil::replaceString(orig, "]", "\\]");
switch ((*it)->prop) {
case NAME:
@ -185,7 +191,7 @@ std::string ClientPattern::toString() const {
pat.append("role=");
}
pat.append((*it)->orig);
pat.append(orig);
pat.append(")");
}