Returns .true. if provided path is absolute.
~
not treated as absolute.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | path | |||
logical, | intent(in), | optional | :: | is_unix |
logical function is_absolute_path(path, is_unix)
character(len=*), intent(in) :: path
logical, optional, intent(in):: is_unix
character(len=*), parameter :: letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
logical :: is_unix_os
if (present(is_unix)) then
is_unix_os = is_unix
else
is_unix_os = os_is_unix()
end if
if (is_unix_os) then
is_absolute_path = path(1:1) == '/'
else
if (len(path) < 2) then
is_absolute_path = .false.
return
end if
is_absolute_path = index(letters, path(1:1)) /= 0 .and. path(2:2) == ':'
end if
end function is_absolute_path