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
integer, parameter, public token
単語やキーワードを保持する文字型変数の種別型パラメタ
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
integer, parameter, public stdout
標準出力の装置番号
integer, parameter, public dp
倍精度実数型変数
character(1), parameter, public name_delimiter