summaryrefslogtreecommitdiffstats
path: root/src/tools/qdoc/location.h
diff options
context:
space:
mode:
authorJan-Arve Saether <jan-arve.saether@nokia.com>2012-08-17 11:52:40 +0200
committerQt by Nokia <qt-info@nokia.com>2012-08-17 19:31:50 +0200
commit526da72e991e11205436a6363b6cfb6948a0eb0c (patch)
tree1fd22bbbeee38b4ea00ce0abf437b69385f4de9a /src/tools/qdoc/location.h
parent8160ca6dfd5332993e22fc82597aac947f335ee6 (diff)
Fix a bug in qdocs handling of excludedirs
The bug was there because the way qdoc tries to exclude the directories given in the "excludedirs" variable: It did a simple string comparision on the candidate path (to include) with every string in the "excludedirs" variable. However, this did not work for all cases, since the paths are not canonicalized. For instance, the problem I faced was that the following qdocconf fragment: (config file located in doc/qtwidgets.qdocconf) sourcedirs += .. excludedirs += snippets Since qdoc would recursively parse all subfolders of sourcedirs, it would at one point visit the snippets folder, but it would have the relative path "../doc/snippets", which did not match with "snippets", causing snippets to not be excluded. In addition, it seems that qdoc tries hard not to use absolute paths (maybe because of more human-friendly error messages). I therefore chose to canonicalize the relative paths. As a side-effect this also give a better output from qdoc, as ../doc/foo.qdoc:42: Missing link will become foo.qdoc:42: Missing link Change-Id: If9c25fa569abd03542bd12675acd44d8f4e0282c Reviewed-by: Martin Smith <martin.smith@nokia.com>
Diffstat (limited to 'src/tools/qdoc/location.h')
-rw-r--r--src/tools/qdoc/location.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/tools/qdoc/location.h b/src/tools/qdoc/location.h
index 1a653394e7..b8bd1a0b9c 100644
--- a/src/tools/qdoc/location.h
+++ b/src/tools/qdoc/location.h
@@ -79,6 +79,7 @@ public:
int depth() const { return stkDepth; }
const QString& filePath() const { return stkTop->filePath; }
QString fileName() const;
+ QString canonicalRelativePath(const QString &path) const;
int lineNo() const { return stkTop->lineNo; }
int columnNo() const { return stkTop->columnNo; }
bool etc() const { return etcetera; }