Convert a string into an integer.
Replacement for the parse_integer
function in the original code.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(json_core), | intent(inout) | :: | json | |||
character(kind=CK,len=*), | intent(in) | :: | str |
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.
function string_to_int(json,str) result(ival)
implicit none
class(json_core),intent(inout) :: json
character(kind=CK,len=*),intent(in) :: str
integer(IK) :: ival
logical(LK) :: status_ok !! error flag
if (.not. json%exception_thrown) then
! call the core routine:
call string_to_integer(str,ival,status_ok)
if (.not. status_ok) then
ival = 0
call json%throw_exception('Error in string_to_int: '//&
'string cannot be converted to an integer: '//&
trim(str))
end if
else
ival = 0
end if
end function string_to_int