13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
35 use dc_trace, only: beginsub, endsub
36 use dc_string, only: putline, printf, split, strinclude, stoa, joinchar
37 use dc_present, only: present_and_not_empty, present_and_true
40 implicit none
41 type(GTHST_NMLINFO), intent(in):: gthstnml
42 character(*), intent(in):: name
43
44
45
46
47
48
49
50
51
52 logical, intent(out), optional:: err
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70 type(GTHST_NMLINFO_ENTRY), pointer:: hptr =>null()
71 character(TOKEN), pointer:: varnames_array(:) =>null()
72 integer:: i, vnmax
73 integer:: stat
74 character(STRING):: cause_c
75 character(*), parameter:: subname = 'HstNmlInfoSetValidName'
76 continue
77 call beginsub( subname, fmt = '@name=%c', c1 = trim(name) )
79 cause_c = ''
80
81
82
83
84
85 if ( .not. gthstnml % initialized ) then
87 cause_c = 'GTHST_NMLINFO'
88 goto 999
89 end if
90
91
92
93
94
96 & carray = varnames_array )
97 vnmax = size( varnames_array )
98
99
100
101
102
103 do i = 1, vnmax
104 hptr => gthstnml % gthstnml_list
106 & name = varnames_array(i) )
107 if ( associated( hptr ) ) then
108 hptr % name_invalid = .false.
109 end if
110 end do
111
112
113
114
115
116999 continue
117 call storeerror( stat, subname, err, cause_c )
118 call endsub( subname )
subroutine, public storeerror(number, where, err, cause_c, cause_i)
integer, parameter, public dc_enotinit
integer, parameter, public dc_earglack
integer, parameter, public dc_noerr
integer, parameter, public dc_enoentry
Provides kind type parameter values.
integer, parameter, public stdout
Unit number for Standard OUTPUT
integer, parameter, public token
Character length for word, token
integer, parameter, public dp
Double Precision Real number
integer, parameter, public string
Character length for string
character(1), parameter, public name_delimiter