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 nonSymlinks; QDict 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);