C++: Fix MSVC assert in std::isspace()

...when dealing with UTF8 bytes.

std::isspace() expects unsigned char, not char.

Change-Id: I3f9b5e347d79cf94015cc99f8797d5feab406151
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
This commit is contained in:
Nikolai Kosjar
2015-09-01 14:34:29 +02:00
parent b1ee76047a
commit c504e56d0c
2 changed files with 22 additions and 1 deletions

View File

@@ -2129,7 +2129,7 @@ void Preprocessor::maybeStartOutputLine()
// If previous line ends with \ (possibly followed by whitespace), add another \n
const char *start = buffer.constData();
const char *ch = start + buffer.length() - 2;
while (ch > start && (*ch != '\n') && std::isspace(*ch))
while (ch > start && (*ch != '\n') && pp_isspace(*ch))
--ch;
if (*ch == '\\')
buffer.append('\n');