aboutsummaryrefslogtreecommitdiff
path: root/protocol.f90
diff options
context:
space:
mode:
Diffstat (limited to 'protocol.f90')
-rw-r--r--protocol.f9014
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