blob: bf3d00535bf66efdd3307c65453f2db394b53892 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
Avoid infinite loop in resolveSymlink.
Backported from doxygen trunk to 1.5.8.
Reference: http://bugs.gentoo.org/266693
2009-04-19 Martin von Gagern
--- trunk/src/doxygen.cpp 2009/01/17 16:16:15 677
+++ trunk/src/doxygen.cpp 2009/01/29 20:13:23 678
@@ -8617,6 +8617,7 @@
QDict<void> nonSymlinks;
QDict<void> known;
QCString result = path;
+ QCString oldPrefix = "/";
do
{
#ifdef WIN32
@@ -8637,7 +8638,7 @@
QString target = fi.readLink();
if (QFileInfo(target).isRelative())
{
- target = QDir::cleanDirPath(prefix+"/"+target.data());
+ target = QDir::cleanDirPath(oldPrefix+"/"+target.data());
}
if (sepPos!=-1)
{
@@ -8656,6 +8657,7 @@
{
nonSymlinks.insert(prefix,(void*)0x8);
}
+ oldPrefix = prefix;
}
}
while (sepPos!=-1);
|