summaryrefslogtreecommitdiffstats
path: root/qmake
diff options
context:
space:
mode:
authorMATSUMURA Tetsuro <tm900102@gmail.com>2016-04-13 20:35:45 +0900
committerOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2016-04-13 13:15:30 +0000
commit96ff51f856c34c7826c13c2d4c376022e6b7d027 (patch)
tree17f3503af6011affa3906666d599056377bc51ef /qmake
parent208f364a953146223fe5cb41ca44875f4c85cdd9 (diff)
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 <edward.welbourne@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Diffstat (limited to 'qmake')
-rw-r--r--qmake/generators/makefiledeps.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/qmake/generators/makefiledeps.cpp b/qmake/generators/makefiledeps.cpp
index 047d17f18a..ae81ebc1db 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) {