add_string Subroutine

private subroutine add_string(cfg, var_name, char_data, comment)

Add a configuration variable with an character value

Arguments

Type IntentOptional Attributes Name
type(CFG_t), intent(inout) :: cfg
character(len=*), intent(in) :: var_name
character(len=*), intent(in) :: char_data
character(len=*), intent(in) :: comment

Calls

proc~~add_string~~CallsGraph proc~add_string add_string proc~prepare_store_var prepare_store_var proc~add_string->proc~prepare_store_var proc~read_variable read_variable proc~add_string->proc~read_variable proc~ensure_free_storage ensure_free_storage proc~prepare_store_var->proc~ensure_free_storage proc~get_var_index get_var_index proc~prepare_store_var->proc~get_var_index proc~handle_error handle_error proc~prepare_store_var->proc~handle_error proc~get_fields_string~2 get_fields_string proc~read_variable->proc~get_fields_string~2 proc~read_variable->proc~handle_error proc~resize_storage resize_storage proc~read_variable->proc~resize_storage proc~binary_search_variable binary_search_variable proc~get_var_index->proc~binary_search_variable

Called by

proc~~add_string~~CalledByGraph proc~add_string add_string interface~cfg_add CFG_add interface~cfg_add->proc~add_string proc~add_get_string add_get_string proc~add_get_string->proc~add_string interface~cfg_add_get CFG_add_get interface~cfg_add_get->proc~add_get_string

Source Code

  subroutine add_string(cfg, var_name, char_data, comment)
    type(CFG_t), intent(inout)   :: cfg
    character(len=*), intent(in) :: var_name, comment, char_data
    integer                      :: ix

    call prepare_store_var(cfg, var_name, CFG_string_type, 1, comment, ix)
    if (cfg%vars(ix)%stored_data /= "") then
       call read_variable(cfg%vars(ix))
    else
       cfg%vars(ix)%char_data(1) = char_data
    end if
  end subroutine add_string