You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
854 B
32 lines
854 B
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);
|