validate_fields Subroutine

public subroutine validate_fields(fields, prefix, ok, message)

Enforce every unconditional per-field constraint, in table order; first violation wins. prefix is the historical message prefix ('config' or 'config_2d'). Choice comparison casefolds the candidate via to_lower (length/blank-preserving), NOT lowercase_token (which adjustl's first): a leading-whitespace value like ' hllc' must be REJECTED here, matching the 2D to_lower-on-compare behavior; the 1D path already normalizes (adjustl+lowercase) via normalize_fields before this runs, so its stored values never carry leading blanks by the time they reach here.

Arguments

Type IntentOptional Attributes Name
type(field_desc_t), intent(in) :: fields(:)
character(len=*), intent(in) :: prefix
logical, intent(out) :: ok
character(len=*), intent(out) :: message