Module dc_url
module dc_url
! Uses
use dcstring_base, only: VSTRING, operator(.cat.), operator(/=), extract, operator(==)
! Variables
character, public, parameter :: GT_ATMARK = "@"
character, public, parameter :: GT_QUESTION = "?"
character, public, parameter :: GT_COLON = ":"
character, public, parameter :: GT_COMMA = ","
character, public, parameter :: GT_EQUAL = "="
character, public, parameter :: GT_CIRCUMFLEX = "^"
character, public, parameter :: GT_PLUS = "+"
! Interfaces
public interface UrlMerge
public interface UrlSplit
public interface UrlResolve
public interface UrlSearchIORange
public interface operator(.OnTheSameFile.)
! Subroutines and functions
private type (VSTRING) function url_merge_v_vvv (file, var, attr, iorange)
private function url_merge_cc (file, var) result (result)
private function url_merge_cccca (file, var, attr, iorange) result (result)
private function url_merge_cccc (file, var, attr, iorange) result (result)
public subroutine Url_Chop_IOrange (fullname, iorange, remainder)
private function url_search_iorange (fullname, dimvar) result (result)
private subroutine url_split_c (fullname, file, var, attr, iorange)
private subroutine url_split_v (fullname, file, var, attr, iorange)
private logical function UrlOnTheSameFile (url_a, url_b)
private function url_resolve_c (relative, base) result (result)
end module dc_url
Description of Variables
GT_ATMARK
character, public, parameter :: GT_ATMARK = "@"
GT_QUESTION
character, public, parameter :: GT_QUESTION = "?"
GT_COLON
character, public, parameter :: GT_COLON = ":"
GT_COMMA
character, public, parameter :: GT_COMMA = ","
GT_EQUAL
character, public, parameter :: GT_EQUAL = "="
GT_CIRCUMFLEX
character, public, parameter :: GT_CIRCUMFLEX = "^"
GT_PLUS
character, public, parameter :: GT_PLUS = "+"
Description of Interfaces
UrlMerge
public interface UrlMerge
module procedure url_merge_v_vvv
module procedure url_merge_cc
module procedure url_merge_cccc
module procedure url_merge_cccca
end interface UrlMerge
UrlSplit
public interface UrlSplit
module procedure url_split_v
module procedure url_split_c
end interface UrlSplit
UrlResolve
public interface UrlResolve
module procedure url_resolve_c
end interface UrlResolve
UrlSearchIORange
public interface UrlSearchIORange
module procedure url_search_iorange
end interface UrlSearchIORange
operator(.OnTheSameFile.)
public interface operator(.OnTheSameFile.)
module procedure UrlOnTheSameFile
end interface operator(.OnTheSameFile.)
Description of Subroutines and Functions
url_merge_v_vvv
private function url_merge_v_vvv (file, var, attr, iorange) result (result)
type (VSTRING), intent(in) :: file
type (VSTRING), optional, intent(in) :: var
type (VSTRING), optional, intent(in) :: attr
type (VSTRING), optional, intent(in) :: iorange
type (VSTRING) :: result
end function url_merge_v_vvv
url_merge_cc
private function url_merge_cc (file, var) result (result)
character (len=*), intent(in) :: file
character (len=*), intent(in) :: var
character (len=STRING) :: result
end function url_merge_cc
url_merge_cccca
private function url_merge_cccca (file, var, attr, iorange) result (result)
character (len=*), intent(in) :: file
character (len=*), intent(in) :: var
character (len=*), intent(in) :: attr
character (len=*), intent(in), dimension (:) :: iorange
character (len=STRING) :: result
end function url_merge_cccca
url_merge_cccc
private function url_merge_cccc (file, var, attr, iorange) result (result)
character (len=*), intent(in) :: file
character (len=*), intent(in) :: var
character (len=*), intent(in) :: attr
character (len=*), intent(in) :: iorange
character (len=STRING) :: result
end function url_merge_cccc
Url_Chop_IOrange
public subroutine Url_Chop_IOrange (fullname, iorange, remainder)
character (len=*), intent(in) :: fullname
character (len=*), intent(out) :: iorange
character (len=*), intent(out) :: remainder
! Calls: urlsplit
end subroutine Url_Chop_IOrange
url_search_iorange
private function url_search_iorange (fullname, dimvar) result (result)
character (len=*), intent(in) :: fullname
character (len=*), intent(in) :: dimvar
character (len=STRING) :: result
! Calls: Split, urlsplit
end function url_search_iorange
url_split_c
private subroutine url_split_c (fullname, file, var, attr, iorange)
character (len=*), intent(in) :: fullname
character (len=*), optional, intent(out) :: file
character (len=*), optional, intent(out) :: var
character (len=*), optional, intent(out) :: attr
character (len=*), optional, intent(out) :: iorange
end subroutine url_split_c
url_split_v
private subroutine url_split_v (fullname, file, var, attr, iorange)
type (VSTRING), intent(in) :: fullname
type (VSTRING), optional, intent(out) :: file
type (VSTRING), optional, intent(out) :: var
type (VSTRING), optional, intent(out) :: attr
type (VSTRING), optional, intent(out) :: iorange
end subroutine url_split_v
UrlOnTheSameFile
private function UrlOnTheSameFile (url_a, url_b) result (result)
character (len=*), intent(in) :: url_a
character (len=*), intent(in) :: url_b
logical :: result
! Calls: UrlSplit
end function UrlOnTheSameFile
url_resolve_c
private function url_resolve_c (relative, base) result (result)
character (len=*), intent(in) :: relative
character (len=*), intent(in) :: base
character (len=STRING) :: result
! Calls: DbgMessage, UrlSplit, beginsub, endsub
end function url_resolve_c