diff options
author | albert-github <albert.tests@gmail.com> | 2020-03-25 17:40:49 (GMT) |
---|---|---|
committer | albert-github <albert.tests@gmail.com> | 2020-03-25 17:40:49 (GMT) |
commit | f4a10139c6652a122912754ccc0b453e703c92bf (patch) | |
tree | 0ca349cd52084ee89979fc94a6089fbf9f5d2541 /src | |
parent | 8e133c11e1758dcffa9335850e171519a9d28077 (diff) | |
download | Doxygen-f4a10139c6652a122912754ccc0b453e703c92bf.zip Doxygen-f4a10139c6652a122912754ccc0b453e703c92bf.tar.gz Doxygen-f4a10139c6652a122912754ccc0b453e703c92bf.tar.bz2 |
Incorrect determination of fixed form Fortran
When we have the following small example, we see that the word `subroutine` doesn't start in column 7 but in column 8.
```
subroutine expan()
c2345678 " " lb " " "
end
```
so the code is not converted from fixed form to free form Fortran and in the example (due to the odd number of double quoutes) result in:
```
********************************************************************
Error in file D:/speeltuin/bug_ftn_quote/small.f line: 5, state: 22(String)
********************************************************************
```
The condition regarding the column number was to restrictive.
Diffstat (limited to 'src')
-rw-r--r-- | src/fortranscanner.l | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/fortranscanner.l b/src/fortranscanner.l index df4941d..852c4d9 100644 --- a/src/fortranscanner.l +++ b/src/fortranscanner.l @@ -1496,7 +1496,6 @@ void truncatePrepass(yyscan_t yyscanner,int index) } // simplified way to know if this is fixed form -// duplicate in fortrancode.l bool recognizeFixedForm(const char* contents, FortranFormat format) { int column=0; @@ -1532,7 +1531,7 @@ bool recognizeFixedForm(const char* contents, FortranFormat format) break; default: if (skipLine) break; - if (column==7) return TRUE; + if (column>=7) return TRUE; return FALSE; } } |