wide char: remove assert in wideLength and count length all chars separately

master
Andrzej Rybczak 12 years ago
parent 470c30d07a
commit 7abbf279c5
  1. 13
      src/utility/wide_string.cpp

@ -34,9 +34,16 @@ std::wstring ToWString(std::string s)
size_t wideLength(const std::wstring &ws)
{
int len = wcswidth(ws.c_str(), -1);
assert(len >= 0);
return len;
size_t result = 0;
for (const auto &wc : ws)
{
int len = wcwidth(wc);
if (len < 0)
++result;
else
result += len;
}
return result;
}
void wideCut(std::wstring &ws, size_t max_length)

Loading…
Cancel
Save