From 96ff51f856c34c7826c13c2d4c376022e6b7d027 Mon Sep 17 00:00:00 2001 From: MATSUMURA Tetsuro Date: Wed, 13 Apr 2016 20:35:45 +0900 Subject: [PATCH] Fix dependency scanner being confused by UTF-8 BOM Update QMakeSourceFileInfo::findDeps to skip UTF-8 BOM if exists. Task-number: QTBUG-34182 Change-Id: I7a3e30ecab08f485c53e2ca2eab197619b11c2c7 Reviewed-by: Edward Welbourne Reviewed-by: Oswald Buddenhagen --- qmake/generators/makefiledeps.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/qmake/generators/makefiledeps.cpp b/qmake/generators/makefiledeps.cpp index 047d17f18aa..ae81ebc1dbc 100644 --- a/qmake/generators/makefiledeps.cpp +++ b/qmake/generators/makefiledeps.cpp @@ -554,7 +554,14 @@ bool QMakeSourceFileInfo::findDeps(SourceFile *file) InCode // after directive, parsing non-#include directive or in actual code } cpp_state = AtStart; - for(int x = 0; x < buffer_len; ++x) { + int x = 0; + if (buffer_len >= 3) { + const unsigned char *p = (unsigned char *)buffer; + // skip UTF-8 BOM, if present + if (p[0] == 0xEF && p[1] == 0xBB && p[2] == 0xBF) + x += 3; + } + for (; x < buffer_len; ++x) { bool try_local = true; char *inc = 0; if(file->type == QMakeSourceFileInfo::TYPE_UI) {