forked from qt-creator/qt-creator
Fix a bug when processing the comment
When we meet /* we look for closing */ and continue processing from the next char, not from '/' which was a part of the closing comment
This commit is contained in:
@@ -368,13 +368,13 @@ static int findClassEndPosition(const QString &headerContents, int classStartPos
|
|||||||
if (contents.mid(idx, 2) == QLatin1String("//")) {
|
if (contents.mid(idx, 2) == QLatin1String("//")) {
|
||||||
idx = contents.indexOf(QLatin1Char('\n'), idx + 2) + 1; // drop everything up to the end of line
|
idx = contents.indexOf(QLatin1Char('\n'), idx + 2) + 1; // drop everything up to the end of line
|
||||||
} else if (contents.mid(idx, 2) == QLatin1String("/*")) {
|
} else if (contents.mid(idx, 2) == QLatin1String("/*")) {
|
||||||
idx = contents.indexOf(QLatin1String("*/"), idx + 2) + 1; // drop everything up to the nearest */
|
idx = contents.indexOf(QLatin1String("*/"), idx + 2) + 2; // drop everything up to the nearest */
|
||||||
} else if (contents.mid(idx, 4) == QLatin1String("'\\\"'")) {
|
} else if (contents.mid(idx, 4) == QLatin1String("'\\\"'")) {
|
||||||
idx += 4; // drop it
|
idx += 4; // drop it
|
||||||
} else if (contents.at(idx) == QLatin1Char('\"')) {
|
} else if (contents.at(idx) == QLatin1Char('\"')) {
|
||||||
do {
|
do {
|
||||||
idx = contents.indexOf(QLatin1Char('\"'), idx + 1); // drop everything up to the nearest "
|
idx = contents.indexOf(QLatin1Char('\"'), idx + 1); // drop everything up to the nearest "
|
||||||
} while (idx > 0 && !isEndingQuote(contents, idx)); // if the nearest " is preceeded by \ (or by \\\ or by \\\\\, but not by \\ nor \\\\) we find next one
|
} while (idx > 0 && !isEndingQuote(contents, idx)); // if the nearest " is preceded by \ (or by \\\ or by \\\\\, but not by \\ nor \\\\) we find next one
|
||||||
if (idx < 0)
|
if (idx < 0)
|
||||||
break;
|
break;
|
||||||
idx++;
|
idx++;
|
||||||
|
Reference in New Issue
Block a user