doxygen-1.5.8-kdedocs.patch 854 Bytes
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);