diff options
author | Liang Qi <[email protected]> | 2016-05-19 17:50:46 +0000 |
---|---|---|
committer | The Qt Project <[email protected]> | 2016-05-19 17:50:46 +0000 |
commit | 1f8bc502c8d1f9b92cf13c4aefc5f76607f474ab (patch) | |
tree | bf6d5cebae9c680d2db331c536b88c9a1e684e3d /src/tools/moc/preprocessor.cpp | |
parent | b98f599948ddc0380e3392aab593fd426760d0f0 (diff) | |
parent | 818014b449ef996099b4795a82f09651cf1c0129 (diff) |
Merge "Merge remote-tracking branch 'origin/5.6' into 5.7" into refs/staging/5.7
Diffstat (limited to 'src/tools/moc/preprocessor.cpp')
-rw-r--r-- | src/tools/moc/preprocessor.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/tools/moc/preprocessor.cpp b/src/tools/moc/preprocessor.cpp index 59611ca5978..6ae785f4173 100644 --- a/src/tools/moc/preprocessor.cpp +++ b/src/tools/moc/preprocessor.cpp @@ -45,7 +45,7 @@ QT_BEGIN_NAMESPACE static QByteArray cleaned(const QByteArray &input) { QByteArray result; - result.reserve(input.size()); + result.resize(input.size()); const char *data = input.constData(); const char *end = input.constData() + input.size(); char *output = result.data(); @@ -73,13 +73,15 @@ static QByteArray cleaned(const QByteArray &input) if (data != end && (*(data + 1) == '\n' || (*data) == '\r')) { ++newlines; data += 1; - if (*data != '\r') + if (data != end && *data != '\r') data += 1; continue; } } else if (*data == '\r' && *(data + 1) == '\n') { // reduce \r\n to \n ++data; } + if (data == end) + break; char ch = *data; if (ch == '\r') // os9: replace \r with \n |