reject utf-8 boms

... like qmake does

Change-Id: I0724d1981278d0e7c4d7b4d4cfa435adaf3622ee
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
This commit is contained in:
Oswald Buddenhagen
2012-08-21 15:06:08 +02:00
parent b2017f427d
commit 26e9f25a3e

View File

@@ -214,7 +214,15 @@ bool QMakeParser::read(ProFile *pro)
return false; return false;
} }
QString content(QString::fromLocal8Bit(file.readAll())); QByteArray bcont = file.readAll();
if (bcont.startsWith(QByteArray("\xef\xbb\xbf"))) {
// UTF-8 BOM will cause subtle errors
m_handler->message(QMakeParserHandler::ParserIoError,
fL1S("Unexpected UTF-8 BOM in %1").arg(pro->fileName()));
return false;
}
QString content(QString::fromLocal8Bit(bcont));
bcont.clear();
file.close(); file.close();
return read(pro, content, FullGrammar); return read(pro, content, FullGrammar);
} }