| Path: | src/gtvaraddmember.f90 |
| Last Update: | Wed Jul 20 18:22:24 JST 2005 |
Copyright (C) TOYODA Eizi, 2000. All rights reserved.
| var : | type(GT_VARIABLE), intent(inout) |
| member_url : | character(len = *), intent(in) |
| link_name : | character(len = *), intent(in), optional |
subroutine GTVarAddMember(var, member_url, link_name)
implicit none
type(GT_VARIABLE), intent(inout):: var
character(len = *), intent(in):: member_url
character(len = *), intent(in), optional:: link_name
character(len = string):: members, myshortname, conv
continue
! 短縮名称の決定
! 既存のメンバ名に重複しないものを選ぶ
call get_attr(var, 'gt_structure_member', members)
if (present(link_name)) then
if (index(members, ' ' //link_name) == 0) then
myshortname = link_name
goto 1000
endif
endif
conv = member_url
call UrlSplit(conv, var=myshortname)
! fake 判定
if (index(members, trim(myshortname)) /= 0) then
call StoreError(GT_EFAKE, "GTVarAddMember(making unique name)")
endif
1000 continue
members = trim(members) // ' ' // trim(myshortname)
call put_attr(var, 'gt_structure_member', trim(members))
myshortname = 'gt_structure_link_' // trim(myshortname)
call put_attr(var, myshortname, trim(member_url))
end subroutine