209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
239 use dc_trace, only: beginsub, endsub
242 implicit none
243 type(GTHST_NMLINFO_ENTRY), pointer:: gthstnml_list
244
245 character(*), intent(in):: name
246
247
248
249
250
251 type(GTHST_NMLINFO_ENTRY), pointer, optional:: previous
252
253 type(GTHST_NMLINFO_ENTRY), pointer, optional:: next
254
255 logical, intent(out), optional:: err
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273 integer:: stat
274 character(STRING):: cause_c
275 character(*), parameter:: subname = 'HstNmlInfoListSearch'
276 continue
277 call beginsub( subname )
279 cause_c = ''
280
281
282
283
284
285 if ( .not. associated( gthstnml_list ) ) goto 999
286
287
288
289
290
291 if ( present( previous ) ) nullify( previous )
292 if ( present( next ) ) nullify( next )
293 if ( trim( adjustl( gthstnml_list % name ) ) == trim( adjustl( name ) ) ) then
294 if ( present( next ) ) then
295 next => gthstnml_list % next
296 end if
297 goto 999
298 end if
299
300 do while ( associated( gthstnml_list ) )
301 if ( present( previous ) ) previous => gthstnml_list
302 call listnext( gthstnml_list = gthstnml_list )
303 if ( .not. associated( gthstnml_list ) ) goto 999
304 if ( trim( adjustl( gthstnml_list % name ) ) == trim( adjustl( name ) ) ) then
305 if ( present( next ) ) then
306 next => gthstnml_list % next
307 end if
308 goto 999
309 end if
310 end do
311
312
313
314
315
316999 continue
317 call storeerror( stat, subname, err, cause_c )
318 call endsub( subname )
subroutine, public storeerror(number, where, err, cause_c, cause_i)
integer, parameter, public dc_noerr
Provides kind type parameter values.
integer, parameter, public token
Character length for word, token
integer, parameter, public string
Character length for string