Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Source Code
function my_status_string_vec(key,info)result(val)! ---------------------------------------------------------------------------character(len=*),intent(in)::key(:)!< Case sensitive!character(len=*),intent(in),optional::infocharacter(len=80)::val(size(key))! ---------------------------------------------------------------------------integer::scratchUnitcharacter(len=80)::buflineinteger::iosinteger::n,iinteger::keylen(size(key))logical::match! ---------------------------------------------------------------------------scratchUnit=newUnit()n=size(key)val=''keylen=len_trim(key)open(unit=scratchUnit,status='scratch')call print_self_status(scratchUnit,info=info)do i=1,nrewind(scratchUnit)do read(scratchUnit,'(a)',iostat=ios)buflineif(ios/=0)EXIT! end of file reached or reading error occurredmatch=(bufline(1:keylen(i))==trim(key(i)))if(match)thenval(i)=trim(bufline(keylen(i)+1:))EXIT end if end do end do close(scratchUnit)val=adjustl(val)end function my_status_string_vec