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.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Source Code
function get_username()result(user_name)implicit nonecharacter(:),allocatable::user_namecharacter(64)::tmp_user_nameinteger(int32)::len,statusinteger(int32)::icharacter(:),allocatable::user_name_lists(:)integer(int32),parameter::user_name_lists_length=4allocate(character(len=16)::user_name_lists(user_name_lists_length))user_name_lists(1)="USER"user_name_lists(2)="LOGNAME"user_name_lists(3)="LNAME"user_name_lists(4)="USERNAME"do i=1,user_name_lists_lengthcall get_environment_variable(user_name_lists(i),&tmp_user_name,&len,&status)if(status==0.and.len>0)thenuser_name=trim(adjustl(tmp_user_name))deallocate(user_name_lists)return end if end douser_name="Unknown"deallocate(user_name_lists)end function get_username