summaryrefslogtreecommitdiffstats
path: root/qmake
diff options
context:
space:
mode:
authorDebao Zhang <dbzhang800@gmail.com>2012-05-22 09:55:03 -0700
committerQt by Nokia <qt-info@nokia.com>2012-05-30 01:54:45 +0200
commite5bd2ed18c41871488dbbc296d9a68ba2bf00735 (patch)
tree8af36bf93318fc3bdd8e5e71b8ed5b1c649854cb /qmake
parenta9b30841b91736790600256b5db906cb2131ed63 (diff)
qmake can not process project file with UTF-8 BOM
Project file contains UTF-8 BOM can't processesed by qmake and will cause subtle errors. Task-number: QTBUG-25848 Change-Id: Id69ed38c6be63a29fa3792a631cb8cb0ac176148 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Diffstat (limited to 'qmake')
-rw-r--r--qmake/project.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/qmake/project.cpp b/qmake/project.cpp
index 9716237f90..3df80bc00d 100644
--- a/qmake/project.cpp
+++ b/qmake/project.cpp
@@ -1239,8 +1239,14 @@ QMakeProject::read(const QString &file, QHash<QString, QStringList> &place)
parser.from_file = true;
parser.file = filename;
parser.line_no = 0;
- QTextStream t(&qfile);
- ret = read(t, place);
+ if (qfile.peek(3) == QByteArray("\xef\xbb\xbf")) {
+ //UTF-8 BOM will cause subtle errors
+ qmake_error_msg("Unexpected UTF-8 BOM found");
+ ret = false;
+ } else {
+ QTextStream t(&qfile);
+ ret = read(t, place);
+ }
if(!using_stdin)
qfile.close();
}