summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authoralbert-github <albert.tests@gmail.com>2016-01-02 14:29:51 (GMT)
committeralbert-github <albert.tests@gmail.com>2016-01-02 14:29:51 (GMT)
commit661991e55f7ae18e8143733f364d9d7864ec66d9 (patch)
tree252be3c88f872f171d98416d64847c27136365a7 /src
parent295a467a2ebee260d95c7bb3e3c616554b7782b1 (diff)
downloadDoxygen-661991e55f7ae18e8143733f364d9d7864ec66d9.zip
Doxygen-661991e55f7ae18e8143733f364d9d7864ec66d9.tar.gz
Doxygen-661991e55f7ae18e8143733f364d9d7864ec66d9.tar.bz2
Fortran inline source code and crash on Linux
This patch fixes a problem on Linux where in a number of cases doxygen crashed when an unnamed interface existed and the routine itself was in the same source file. Furthermore the end line of routines is set correctly so inline source code in Fortran will be possible as well.
Diffstat (limited to 'src')
-rw-r--r--src/fortranscanner.l5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/fortranscanner.l b/src/fortranscanner.l
index bd1fe83..1e29bf6 100644
--- a/src/fortranscanner.l
+++ b/src/fortranscanner.l
@@ -686,9 +686,12 @@ private {
// in a scope of their own, even if multiple
// are group in one INTERFACE/END INTERFACE block.
//
- last_entry->endBodyLine = yyLineNr - 1;
if (ifType == IF_ABSTRACT || ifType == IF_SPECIFIC)
+ {
endScope(current_root);
+ last_entry->endBodyLine = yyLineNr - 1;
+ }
+ current_root->endBodyLine = yyLineNr - 1;
if (!endScope(current_root))
yyterminate();