Merge pull request #1040 from paulromano/internal-read-fix

Convert whitespace to blanks when reading arrays from XML
This commit is contained in:
Sterling Harper 2018-08-08 12:44:15 -04:00 committed by GitHub
commit 2a3996a33b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -261,6 +261,7 @@ contains
! Get value of text node/attribute
str = node_value_string(node, name)
call whitespace_to_blanks(str)
! Read numbers into array
read(UNIT=str, FMT=*, IOSTAT=stat) array
@ -283,6 +284,7 @@ contains
! Get value of text node/attribute
str = node_value_string(node, name)
call whitespace_to_blanks(str)
! Read numbers into array
read(UNIT=str, FMT=*, IOSTAT=stat) array
@ -333,4 +335,21 @@ contains
end if
end subroutine get_node_array_string
!===============================================================================
! WHITESPACE_TO_BLANKS converts all whitespace to blanks
!===============================================================================
subroutine whitespace_to_blanks(str)
character(len=*, kind=C_CHAR), intent(inout) :: str
integer :: i
do i = 1, len(str)
select case (str(i:i))
case (C_NEW_LINE, C_HORIZONTAL_TAB, C_CARRIAGE_RETURN)
str(i:i) = ' '
end select
end do
end subroutine
end module xml_interface