summaryrefslogtreecommitdiffstats
path: root/src/fortranscanner.l
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/fortranscanner.l
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/fortranscanner.l')
-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();