From 037ab3d081f3389ac774e29a97c484d3cdf9bb5d Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 22 Aug 2018 13:10:59 +0200 Subject: [PATCH] getTag works now for tags with the same start and close tag needed for '/echo/'. Still suggest to rather use /echo\ --- src/IO.f90 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/IO.f90 b/src/IO.f90 index 4a61f25c1..6777fd6c7 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -833,16 +833,16 @@ pure function IO_getTag(string,openChar,closeChar) character(len=*), intent(in) :: string !< string to check for tag character(len=len_trim(string)) :: IO_getTag - character(len=*), intent(in) :: openChar, & !< indicates beginning of tag - closeChar !< indicates end of tag + character, intent(in) :: openChar, & !< indicates beginning of tag + closeChar !< indicates end of tag character(len=*), parameter :: SEP=achar(32)//achar(9)//achar(10)//achar(13) ! whitespaces integer :: left,right ! no pInt IO_getTag = '' - left = scan(string,openChar) - right = scan(string,closeChar) + left = scan(string,openChar) + right = merge(scan(string,closeChar), scan(string(left:),closeChar),openChar /= closeChar) if (left == verify(string,SEP) .and. right > left) & ! openChar is first and closeChar occurs IO_getTag = string(left+1:right-1)