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.
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.
Variables
Type
Visibility
Attributes
Name
Initial
character(kind=c_char, len=1),
private,
allocatable, target
::
c_new(:)
character(kind=c_char, len=1),
private,
allocatable, target
::
c_old(:)
Interfaces
interface
function c_rename(old, new) result(r) bind(C, name="rename"))
Arguments
Type
Intent
Optional
Attributes
Name
type(c_ptr),
intent(in),
value
::
old
type(c_ptr),
intent(in),
value
::
new
Return Value
integer(kind=c_int)
Source Code
integer function posix_rename(oldpath,newpath)result(rc)!! Atomically rename `oldpath` -> `newpath` via libc `rename(2)`.!! Returns 0 on success, -1 on error.character(len=*),intent(in)::oldpath,newpath! Null-terminated C strings as `target` locals so `c_loc` can hand! libc `rename` a pointer to each (c_ptr by value sidesteps! assumed-size dummies).character(kind=c_char),allocatable,target::c_old(:),c_new(:)interface function c_rename(old,new)bind(C,name="rename")result(r)import::c_ptr,c_intimplicit none type(c_ptr),value,intent(in)::oldtype(c_ptr),value,intent(in)::newinteger(c_int)::rend function c_renameend interfacec_old=string_to_c(oldpath)c_new=string_to_c(newpath)rc=int(c_rename(c_loc(c_old),c_loc(c_new)))end function posix_rename