diff options
Diffstat (limited to 'protocol.f90')
-rw-r--r-- | protocol.f90 | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/protocol.f90 b/protocol.f90 index 3348663..8f0cd70 100644 --- a/protocol.f90 +++ b/protocol.f90 @@ -265,8 +265,11 @@ contains end if end if - if(present(once) .and. once) then - exit + ! All on the same line crashes GNU Fortran... + if(present(once)) then + if(once) then + exit + end if end if i = index(string, pattern) @@ -301,7 +304,12 @@ contains exit end if - call replace_text(url, url(pattern_start:i+2), once=.true.) + ! Check for root... + if(url(pattern_start-1:pattern_start) == "//") then + call replace_text(url, "/../", replacement="/", once=.true.) + else + call replace_text(url, url(pattern_start:i+2), once=.true.) + end if i = index(url, '/../') end do |