From 17623b0805ec074d8fb4aa026f97d8f4abfd0da1 Mon Sep 17 00:00:00 2001 From: Jeffrey Armstrong Date: Thu, 21 May 2020 13:16:56 -0400 Subject: Added binary handler for windows gui. Fixed opening and writing of binary files so it works on windows too. Removed all tabs from link lines for simpler processing. --- files.f90 | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'files.f90') diff --git a/files.f90 b/files.f90 index 85eddb1..b9f6d5a 100644 --- a/files.f90 +++ b/files.f90 @@ -33,7 +33,7 @@ contains implicit none integer, intent(in)::unit_number - + Write(unit_number, '(A1)', advance='no') new_line('a') Write(unit_number, '(A17)') end_indicator end subroutine mark_file_end @@ -91,6 +91,20 @@ contains end subroutine read_line_text + subroutine replace_tabs(text) + implicit none + + character(*), intent(inout)::text + integer::i + + i = index(text, char(9)) + do while(i > 0) + text(i:i) = ' ' + i = index(text, char(9)) + end do + + end subroutine replace_tabs + subroutine process_line(single_line, file_type, preformatted_on) use layout implicit none @@ -110,10 +124,12 @@ contains line_length = len_trim(single_line%text) - if(line_length > 2 .AND. single_line%text(1:2) == "=>") then + if((.not. preformatted_on) .AND. line_length > 2 .AND. & + single_line%text(1:2) == "=>") then single_line%line_type = line_type_link single_line%text(1:2) = " " + call replace_tabs(single_line%text) single_line%text = adjustl(single_line%text) else if(line_length >= 3 .AND. single_line%text(1:3) == "```") then -- cgit v1.2.3