get_a_option Subroutine

private subroutine get_a_option(self, section_name, option_name, val, delimiter, error)

Get option value (array)

Arguments

TypeIntentOptionalAttributesName
class(file_ini), intent(in) :: self

File data.

character, intent(in) :: section_name

Section name.

character, intent(in) :: option_name

Option name.

class(*), intent(inout) :: val(1:)

Value.

character, intent(in), optional :: delimiter

Delimiter used for separating values.

integer(kind=I4P), intent(out), optional :: error

Error code.


Contents

Source Code


Source Code

  subroutine get_a_option(self, section_name, option_name, val, delimiter, error)
  !< Get option value (array)
  class(file_ini), intent(in)            :: self         !< File data.
  character(*),    intent(in)            :: section_name !< Section name.
  character(*),    intent(in)            :: option_name  !< Option name.
  class(*),        intent(inout)         :: val(1:)      !< Value.
  character(*),    intent(in),  optional :: delimiter    !< Delimiter used for separating values.
  integer(I4P),    intent(out), optional :: error        !< Error code.
  character(len=:), allocatable          :: dlm          !< Dummy string for delimiter handling.
  integer(I4P)                           :: errd         !< Error code.
  integer(I4P)                           :: s            !< Counter.

  errd = ERR_OPTION
  dlm = ' ' ; if (present(delimiter)) dlm = delimiter
  if (allocated(self%sections)) then
    do s=1, size(self%sections, dim=1)
      if (self%sections(s) == trim(adjustl(section_name))) then
        call self%sections(s)%get(delimiter=dlm, error=errd, option_name=option_name, val=val)
        exit
      endif
    enddo
  endif
  if (present(error)) error = errd
  endsubroutine get_a_option