summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-doc/doxygen/files/doxygen-1.5.8-kdedocs.patch')
-rw-r--r--app-doc/doxygen/files/doxygen-1.5.8-kdedocs.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/app-doc/doxygen/files/doxygen-1.5.8-kdedocs.patch b/app-doc/doxygen/files/doxygen-1.5.8-kdedocs.patch
new file mode 100644
index 000000000000..bf3d00535bf6
--- /dev/null
+++ b/app-doc/doxygen/files/doxygen-1.5.8-kdedocs.patch
@@ -0,0 +1,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);