# # patch "transforms.cc" # from [8efaefb7eb95e69777d68dbc233933446b2771a9] # to [92b2495dcc4067794d6b3cd58c0f30f865a08a28] # --- transforms.cc +++ transforms.cc @@ -437,10 +437,23 @@ string remove_ws(string const & s) { - string tmp = s; - string::size_type pos = 0; - while ((pos = tmp.find_first_of("\n\r\t ")) != string::npos) - tmp.erase(pos,1); + string tmp; + tmp.reserve(s.size()); + for (string::const_iterator i = s.begin(); + i != s.end(); ++i) + { + switch (*i) + { + case '\n': + case '\r': + case '\t': + case ' ': + break; + default: + tmp += *i; + break; + } + } return tmp; }